我注意到一个 map/reduce 需要将近 10 秒才能运行,即使没有返回任何结果。使用 mongo shell,我能够确定我的初始查询是罪魁祸首。我能够在查询中添加第二个排序字段,从而大大加快了查询速度。
但是,当我尝试将第二个排序字段添加到我的 map reduce 时,我收到错误“无法在 [collection] 上创建光标以进行查询 ...”。我有什么办法可以将第二个排序字段添加到 map reduce 中?
编辑:我查询的目标是找到每个用户/天创建的第一条记录。所以我发出的关键是用户的 id + 在当天创建,忽略任何时间。这样我就可以对用户在给定日期创建的所有记录进行分组。在我的减少中,然后我将记录首先创建的记录。我实际上已经放弃了使用 map/reduce 并且现在基本上做同样的事情,但是使用普通的 find() 和一些 javascript 来分组和减少。