我有一个集合,每个文档代表一个虚拟拍卖。我想找到给定时间段内最常见的项目 ID。在 SQL 中,我会SELECT item, COUNT(*) as count
使用GROUP BY item
通常的排序和限制。是否有与此等效的mongodb?
问问题
150 次
2 回答
2
MongoDB 在这里有几个选项。
- 在 2.1.0+ 版本中,您可以使用新的Aggregation Framework。这里有一个转换表。
- 在旧版本中,您可以使用Map / Reduce
- 对于简单版本的聚合,您可以使用特殊的聚合运算符。
这些选项中的每一个都将具有不同的语法和不同的速度。
在任何这些情况下,您可能会发现这些选项相对较慢。Map / Reduce 作业旨在“离线”运行,通常作为“cron 作业”或“计划任务”。请注意,如果您打算经常这样做,您可能需要预先聚合这些数据。
于 2012-07-06T23:14:25.257 回答
0