【发布时间】:2016-06-19 22:33:44
【问题描述】:
假设我有 10,000 个不同日期的文档,可追溯到 100 年前。
我现在想找到不同的年份,以便更轻松地浏览。我想省略任何没有文件的年份。
例子:
- 2016:有文档,包括
- 2015:没有文档,排除
- 2014:有文档,包括
- 2013:有文档,包括
- 2012:没有文档,排除
等等
在 mongo 中查询文档集合并找到年份集合的最有效方法是什么?
谢谢
【问题讨论】:
标签: mongodb
假设我有 10,000 个不同日期的文档,可追溯到 100 年前。
我现在想找到不同的年份,以便更轻松地浏览。我想省略任何没有文件的年份。
例子:
等等
在 mongo 中查询文档集合并找到年份集合的最有效方法是什么?
谢谢
【问题讨论】:
标签: mongodb
为此,您可以在 $group 聚合中使用 $year 运算符。
假设 test 集合中的文档具有名为 date 的日期字段:
db.test.aggregate([{$group: {_id: {$year: '$date'}}}])
【讨论】:
您基本上是在描述$addToSet 功能,您可以阅读about in the docs。
【讨论】: