sql >> データベース >  >> NoSQL >> MongoDB

MongoDB Javaドライバー:MongoCoreドライバーvs.MongoDBドライバーvs.MongoDB非同期ドライバー

    TL; DR

    動作が遅い場合は非同期ドライバーを使用するか、ほとんどの場合通常のドライバーを使用してください。コアドライバーは使用しないでください。

    MongoDBレギュラードライバー

    ドキュメントの検索、作成、読み取り、更新、削除に使用できる一般的なドライバー。 find(...)updateMany(...)deleteMany(...) 同様のメソッドは、結果が返されないか、操作が実行されない限りハングします(同期動作)。これは、ほとんどのプログラムが使用するドライバーであり、ほとんどの場合に適しています。

    単一のドキュメントを挿入する例を次に示します。

    collection.insertOne(doc);
    //Do something here.
    System.out.println("Inserted!")
    

    MongoDB非同期ドライバー

    ドキュメントの検索、作成、読み取り、更新、削除に使用できる別の種類のドライバー。このドライバーは、通常のドライバー(find(...)と同様のメソッドを提供します 、updateMany(...)deleteMany(...) など)。

    通常のドライバーとの違いは、非同期ドライバーが結果をコールバック (非同期動作)。このドライバーは、操作に時間がかかる可能性があり(大量のデータの処理、待ち時間が長い、インデックス付けされていないフィールドのクエリなど)、複数のスレッドを管理したくない場合に使用されます。

    単一のドキュメントを挿入するときのコールバックの例を次に示します。

    collection.insertOne(doc, new SingleResultCallback<Void>() {
        @Override
        public void onResult(final Void result, final Throwable t) {
            //Do something here.
            System.out.println("Inserted!");
        }
    });
    // Do something to show that the Document was not inserted yet.
    System.out.println("Inserting...")
    

    詳細については、これ

    MongoDBコアドライバー

    通常および非同期ドライバーのベースレイヤー。これには、通常のドライバーと非同期ドライバーに共通するすべての操作を実行するための低レベルのメソッドが含まれています。 MongoDB用の新しいAPI/ドライバーを作成する場合を除いて、コアドライバーを使用しないでください。




    1. 範囲でフィルターを再分割し、最初に10を並べ替えて返します

    2. mongodbサーバーを実行しているときに起動時にソケットをセットアップできなかった問題を解決するにはどうすればよいですか?

    3. 数値コレクション名削除

    4. Node.jsはMongoDBリファレンスを再利用します