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

Nodejsドライバーでサポートされている集計カーソルメソッドは何ですか?

    カーソルを使用してアグリゲートから実際に返されるのは、ノード変換ストリームインターフェース です。 他のいくつかの便利な方法、特に:

    explain: [Function],
    get: [Function],
    getOne: [Function],
    each: [Function],
    next: [Function],
    

    これは、console.logを使用してカーソルオブジェクトをダンプするだけで取得できます。 。これらはget()で自明である必要があります メソッドは.toArray()と同等です 。

    これは標準のストリーミングインターフェースであるため、メソッドとイベントハンドラーはこのインターフェースに従って使用できます。たとえば、次の例を使用します。

      var MongoClient = require('mongodb').MongoClient;
    
    
      MongoClient.connect("mongodb://localhost/test", function(err,db) {
    
        var items = [];
        var counter = 0;
    
        var cursor = db.collection('tags').aggregate(
          [
            { "$project": {
              "t1": 1,
              "t2": 1
            }}
          ],
          { "cursor": { "batchSize": 25 } }
        );
    
        console.log( cursor );
    
        cursor.on('data', function(data) {
          console.log( this );  // dump the current state info
          items.push( data );
          counter++;
        });
    
        cursor.on('end', function() {
          console.log( "Iterated " + counter + " times" );
        });
    
      });
    

    「data」イベントはカーソルの反復ごとに発生し、オブジェクトのプロパティは、ストリームが完了したか、まだ反復しているかなどを示します。




    1. 初期設定後にMongoDBサービスが開始されない

    2. C#ドライバーでMongoDB変更ストリーム「OperationType」を設定するにはどうすればよいですか?

    3. マングース:カスタム_idはインデックスとして宣言され、一意である必要がありますか

    4. pymongoを使用してmongodbのObjectIdで検索