sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvilke aggregeringsmarkørmetoder understøttes af Nodejs-drivere?

Det, der rent faktisk bliver returneret fra aggregat med en markør, er en grænseflade for nodetransformation med et par andre bekvemmelighedsmetoder, især:

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

Hvilket du kan opnå ved blot at dumpe markørobjektet ved hjælp af console.log . Disse bør være selvforklarende med get() metode, der svarer til .toArray() .

Da dette er en standard streaminggrænseflade, er metoderne og hændelseshandlerne tilgængelige i henhold til denne grænseflade, så med et eksempel:

  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"-hændelsen udløses med hver markør-iteration, og egenskaber på objektet vil vise, om streamen er fuldført eller stadig itererer og så videre.




  1. Fjern dubletter på mongodb

  2. At finde to dokumenter i MongoDB, der deler en nøgleværdi

  3. MongoDB - Fordel ved at bruge 12 bytes streng som unik identifikator i stedet for inkrementel værdi

  4. MongoDB dump fra 3.2, gendan med 3.4, fejlindeks sikker =null