我有大量的mongodb集合(大约24 mil文件)。
该集合可能包含具有不同timestamp
字段的一个文档的多个版本。
有时我需要获取所有最新版本文档的列表,因此我使用聚合管道,尤其是$group
来完成此任务。
我只想按键分组,并为文档的每个字段获取$last
。
但是MongoDB $group
不使用索引,因此操作需要很多时间。
文档说$group
应该在$match
或$sort
之后使用,但这不是我的情况 - 我需要汇总整个集合。
有没有办法使用索引在mongodb中分组文档?或者也许还有其他正确的方法来进行类似的聚合?
MapReduce似乎不是很快。
谢谢!