我对谈话的集合:MongoDB - 从每个对话中获取1条最后一条消息?
{_id: ..., from: userA, to: userB, message: "Hello!", datetime: ...}
我想告诉用户的对话的预览 - 从当前用户和其他用户之间的每个会话中的最后消息。因此,当用户点击某个“最后一条消息”时,他会转到下一页,其中包含他与该用户之间的所有消息。
如何在没有Map/Reduce的情况下执行此操作(从每个对话中获取最后一条消息)?
1)使用“distinct”命令? (怎么样?)
2)为最后一条消息设置“last”标志?我认为这不是很安全......
3)..?
神似:HTTP://计算器。 com/questions/6498506/mongodb-select-the-top-n-rows-from-each-group – Thilo 2012-03-25 11:20:58
谢谢,但我已经阅读过了。我认为这对我而言并不是非常有效,因为我的系统会有成千上万条消息,我认为每次用户添加消息时都会对数千个文档进行更新并不好(因为它建议$ inc“年龄“字段在所有相关的文档)。 – oyatek 2012-03-25 11:29:12