Saya menemukan bahwa agar metode ini berfungsi, saya perlu mengubah koleksi saya menjadi 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');
});
Ini berfungsi karena saya sekarang dapat menangani MongoDB collection
seperti antrian pesan, yang terus diperbarui.
Anehnya ketika saya membungkus ini di dalam SocketIO
acara saya mendapatkan kelipatan dari documents
yang sama yang membuat saya berpikir masih ada sesuatu yang saya tidak lakukan dengan benar...