猿问

Mongo 查询怎样先按一个字段分组,然后对所有组进行组内排序(按另一字段)?

比方说数据库存有 Post 类型的数据,每个文档记录了发布帖子的时间和该帖子获得的投票数:

...
{ time: 1481185194698,  vote: 2 }
...

我这里想执行一个 find({}) 操作,把所有帖子按照发布时间 24 小时间隔分组(新一天的组排前面),然后每个组内再按照投票数排序。我查遍了 MongoDB 的文档,没有找到解决方案,请问这可以办到吗?

我也查看了 Mongo 的 aggregate 操作,聚合的 $group 和 $bucket 操作都会合并文档,我这里只想查询,不想合并文档。


喵喵时光机
浏览 746回答 1
1回答

达令说

在数据库里新增一个 daysFrom 字段,用来保存距离 1970/1/1 过去的天数,然后按照该天数排序。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答