Mongoose QueryStream nowe wyniki
Próbuję skonfigurowaćMongooseJS wypchnąć całą kolekcję (lub tylko najnowszy element), gdy nowe dokumenty są wstawiane do kolekcji przez inną aplikację.
ZałożyłamQueryStream był sposób, aby iść.
Jednak po uruchomieniu prostej aplikacji odczytuje kolekcję raz i zamyka ją.
Kiedy wstawiam nowy dokument nic się nie dzieje (zakładając, że połączenie nie jest już otwarte i szukasz nowych wyników ...?)
var Orders = db.model('orders', OrderSchema);
var stream = Orders.find().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');
});
Natychmiast drukuje wszystkie elementy, które są obecnie wkolekcja zamówień, a następnie odbitki „zamknięte”. Czy „Stream” nie powinien pozostać otwarty podczas drukowania nowych danych, gdyzmiany kolekcji?
Czego nie rozumiem na tematMongooseJS QueryStream
?
Ps. moim celem jest ostatecznieemit
zaktualizowana kolekcja za pośrednictwemsocket.io
jak pokazano tutaj:Strumień Mongoose zwraca kilka wyników za pierwszym razem