我有一个代表虚拟拍卖的每个文件的集合。我想查找给定时间段内最常用的物品ID。在SQL中,我想SELECT item, COUNT(*) as count
与GROUP BY item
和通常的排序和限制。有没有与此相当的mongodb?mongodb:字段按发生次数排序
0
A
回答
2
MongoDB在这里有几个选项。
- 在版本2.1.0+中,您可以使用新的Aggregation Framework。有一个转换表here。
- 在旧版本中,你可以使用一个Map/Reduce
- 对于聚集的简单版本,你CA使用特殊aggregation operators。
这些选项中的每一个都有不同的语法和不同的速度。
在这些情况下,您可能会发现这些选项相对较慢。 Map/Reduce作业旨在“离线”运行,通常作为“cron作业”或“计划任务”。请注意,如果您计划执行此操作,您可能需要预先汇总此数据。
0
或者您可以使用MapReduce,然后对输出集合进行排序,或者您可以使用命令group,但是您需要在客户端执行大部分排序和限制。
举例group命令:
db.coll.group(
{key: { a:true, b:true },
cond: { active:1 },
reduce: function(obj,prev) { prev.csum += obj.c; },
initial: { csum: 0 }
});
另外值得一提的是在MongoDB中(2.2)的下一个稳定版本,他们将发布一个新aggregation framework,这将使得该操作更容易。
相关问题
- 1. mongodb按字段排序的排序
- 2. MongoDB:按发生次数排序不同的密钥
- 3. 比较TreeBag按发生次数排序
- 4. 按每行多个字段中的字符串发生次数排序结果
- 5. 按发生次序排序IEnumerable
- 6. 在mongodb中按多个字段排序
- 7. MongoDB按多个字段排序
- 8. Mongodb按两个字段排序
- 9. MongoDB:按字段存在然后按字母顺序排序
- 10. 按字段排序排序
- 11. 计数列值按发生次数排序
- 12. 按数据库中发生的次数排序记录
- 13. 对发生次数的排序历史
- 14. 按MySQL字段中的字数排序
- 15. 按总发生次数排序筛选结果
- 16. 按发生次数对mysql进行排序
- 17. SQL statment,总结发生次数,按照出现次数从高到低排序
- 18. javabean按字段排序
- 19. 按字段与SQLite排序
- 20. 按字段排序UNIX
- 21. MySQL按字段排序
- 22. SQLite按字段排序
- 23. SQL。按字段排序
- 24. 按Sum字段排序
- 25. 按两个字段的总数排序
- 26. Solr:按字段数排序文档
- 27. 按字段排序数据表
- 28. 按字段排序数据表
- 29. PHP按字段排序数组?
- 30. Mongodb - 与多个字段的ROR排序
我现在有一个每小时运行一次到一个单独表格的Map/Reduce操作。 – 2012-07-06 23:56:09