mongodb根据一个字段的范围进行数量统计
我的模型里有个字段是时间戳,我想根据这个字段统计每一天的数据,数据量在百万级。
目前我能想到的是全部查询出来,然后自己对数据进行排序分组。本来想用Aggregate来做,但是把操作符看了一遍不知道怎么组合起来才能实现,然后还有就是mapReduce,查了下得知mapReduce查询很慢,所以不知道怎么办了。希望大家可以推荐一个最好的方式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
什么样的数据?如果是时序数据,历史情况不会变,建议每天统计一次,把结果存下来以后直接取用即可,不要每次都去进行不必要的运算。
aggregate
是推荐的取代map/reduce
的聚合框架。如果以上假设成立,楼上的办法也可以达成。但是要注意count在分片集中给出的是不精确结果,想要精确结果还是请用aggregate
。统计每一天的数据总数吗?, 时间戳是存入mongodb 是int32 or int64吗? 满足以上条件,可以如下
count() 是聚合的一种