このメソッドを機能させるには、コレクションを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');
});
これは、MongoDB collection
を処理できるようになったために機能します 継続的に更新されるメッセージキューのようなものです。
不思議なことに、これをSocketIO
でラップすると 同じdocuments
の倍数を取得するイベント それは私が正確に正しくやっていないことがまだあると私に思わせます...