寻找与 Postgres 的 Distinct On 类似的功能。
有一组文档 {user_id, current_status, date},其中状态只是文本,日期是日期。仍处于将我的头围绕 mongo 并了解做事的最佳方式的早期阶段。
mapreduce 会是这里最好的解决方案,map 发出所有信息,reduce 保留最新的记录,还是有一个内置的解决方案而不拉出先生?
有一个distinct命令,但我不确定这是否是您需要的。Distinct 是一种“查询”命令,对于大量用户,您可能希望非实时汇总数据。
Map-Reduce 可能是一种方法。
地图阶段:您key只是一个 ID。你的value会像下面这样{current_status:'blah',date:1234}。
减少阶段:给定一个值数组,您将获取最新的值并仅返回它。
为了使这项工作达到最佳效果,您可能需要查看 1.8.0 中的一项新功能。“重新减少”功能。将允许您仅处理新数据,而不是重新处理整个状态集合。
另一种方法是构建一个“最新”集合并将状态插入绑定到该集合。因此,当您为用户插入新状态时,您会更新他们的“最新”状态。
根据此功能的重要性,您可以同时执行这两件事。
| 归档时间: |
|
| 查看次数: |
770 次 |
| 最近记录: |