sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose QueryStream nya resultat

Jag upptäckte att för att den här metoden skulle fungera behövde jag ändra min samling till en capped collection :

var OrderSchema = new Mongoose.Schema({...
}, { capped: { size: 10, max: 10, autoIndexId: true }});

var Orders = db.model('orders', OrderSchema);

var stream = Orders.find().tailable().stream();

stream.on('data', function(doc){
    console.log('New item!');
    console.log(doc);
}).on('error', function (error){
    console.log(error);
}).on('close', function () {
    console.log('closed');
});

Detta fungerar eftersom jag nu kan behandla MongoDB collection som något av en meddelandekö, som uppdateras kontinuerligt.

Konstigt nog när jag lindar in det här i en SocketIO händelse Jag får multiplar av samma documents vilket får mig att tro att det fortfarande är något jag inte gör helt rätt...



  1. hur man installerar mongodb php-drivrutin på windows 8 och wamp-servern?

  2. Spring Boot anslut Mysql och MongoDb

  3. Kan jag skapa en databas med rubyklasser?

  4. C# 10gen och mongo:deserialisering för medlemmar som gränssnitt