我有一个Threads集合,我想在每个帖子中收到最后一篇帖子并发布。
任何人都知道正确的查询吗?
我试图做这样的事情,但它没有用。因为返回值不是光标。
var messages = Messages.find({ threadId: { $in: threadIds }});
// We found the messages. Now retrieve the last ones per thread.
return _.map(threadIds, function(threadId) {
console.log('Get %s', threadId);
Messages.find({ threadId: threadId }, {
limit: 1, sort: { createdAt: -1 }
});
});
答案 0 :(得分:0)
我相信这个解决方案对我有用。
我确实有一个抱怨,即如果在线程中添加新消息,我不确定该方法是否会运行。
var messages = Messages.find({ threadId: { $in: threadIds }});
// We found the messages. Now retrieve the last ones per thread.
var messageCursors = [];
_.each(threadIds, function(threadId) {
var lastMessage = Messages.find({ threadId: threadId }, {
sort: { createdAt: -1 }, limit: 1
});
messageCursors.push(lastMessage);
});
return messageCursors;