【发布时间】:2016-06-18 18:01:06
【问题描述】:
我正在尝试使用可尾光标流设置 websocket 服务器。我有一个上限集合,到目前为止,我已经尝试使用 mongo 3.2 和 mongo 2.6 来做到这一点。
这是我一直在努力的工作。它将运行一次并获取所有文档,但不会获取我插入的新文档。我已经在无数示例中看到过此代码,并且看到有人流式传输聊天服务器,但似乎无法让它为我自己工作。
function startStream(){
const stream = collections.MQS.find({}, {tailable:true, awaitdata:true, numberOfRetries:-1}).stream();
stream.on('data', (doc)=>{
console.log(doc);
});
}
我在连接中调用这个函数:
Mongo.MongoClient.connect (mongodbUri, onConnected);
function onConnected(err, database){
if (err) {throw err;}
// Assign db and collection letiables
collections.db = database;
collections.MQS = database.collection('mqs');
console.log("Connected to: " + mongodbUri);
startStream();
}
有没有我找不到的更合适的方法来做到这一点?
如果这个查询必须是递归的,那么在正常的查找查询中使用可尾选项与管理时间戳有何意义?
【问题讨论】:
-
您的代码实际上对我有用。你只需要在一个有上限的集合上运行它。