MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose QueryStream neue Ergebnisse

Ich habe festgestellt, dass ich meine Sammlung in eine capped collection ändern musste, damit diese Methode funktioniert :

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

Das funktioniert, weil ich jetzt die MongoDB collection behandeln kann wie so etwas wie eine Nachrichtenwarteschlange, die ständig aktualisiert wird.

Seltsamerweise, wenn ich dies in ein SocketIO einpacke falls ich mehrere gleiche documents erhalte was mich glauben lässt, dass ich immer noch etwas nicht ganz richtig mache...