Tôi phát hiện ra rằng để phương pháp này hoạt động, tôi cần thay đổi bộ sưu tập của mình thành 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');
});
Điều này hoạt động vì bây giờ tôi có thể xử lý tập hợp MongoDB collection
giống như một hàng đợi tin nhắn, được cập nhật liên tục.
Thật kỳ lạ khi tôi bọc cái này bên trong SocketIO
sự kiện tôi nhận được nhiều documents
điều này khiến tôi nghĩ rằng vẫn còn điều gì đó mà tôi đang làm không chính xác ...