MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jakie metody kursorów agregacji są obsługiwane przez sterowniki Nodejs?

To, co faktycznie jest zwracane z agregatu za pomocą kursora, to interfejs strumienia transformacji węzła z kilkoma innymi wygodnymi metodami, w szczególności:

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

Które można uzyskać, po prostu zrzucając obiekt kursora za pomocą console.log . Powinny one być zrozumiałe za pomocą get() metoda będąca odpowiednikiem .toArray() .

Ponieważ jest to standardowy interfejs przesyłania strumieniowego, metody i procedury obsługi zdarzeń są dostępne zgodnie z tym interfejsem, więc z przykładem:

  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" );
    });

  });

Zdarzenie „data” jest uruchamiane przy każdej iteracji kursora, a właściwości obiektu pokażą, czy strumień jest kompletny, czy nadal iteruje i tak dalej.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. odejmowanie w zapytaniu mongo nie działa?

  2. node res.render zmienia widok, ale nie url

  3. Jak ustawić sterownik MongoDB na XAMPP

  4. Pole obce w $lookup może być polem zagnieżdżonego dokumentu?

  5. 3 sposoby na zwracanie odrębnych wartości w MongoDB