【发布时间】:2020-12-24 05:25:57
【问题描述】:
我在 mongoose 上进行数据聚合时遇到了一些问题。不胜感激。
这是我的数据库(最小化):
{
_id: 1,
timestamp: 2018-05-27T22:02:07.837+00:00,
},
{
_id: 2,
timestamp: 2019-10-27T22:02:07.837+00:00,
},
{
_id: 3,
timestamp: 2019-12-27T22:02:07.837+00:00,
},
{
_id: 4,
timestamp: 2020-01-27T22:02:07.837+00:00,
},
{
_id: 5,
timestamp: 2020-02-27T22:02:07.837+00:00,
},
{
_id: 6,
timestamp: 2020-09-27T22:02:07.837+00:00,
}
这是我的目标结构:
[
[2018,5],
[2019,10],
[2019,12],
[2020,1],
[2020,2],
[2020,9]
]
目前我的代码是:
Model.aggregate([
{ $group: { _id: "$year", months: { $addToSet: "$month" } } }
]);
但我觉得我离我想要达到的目标还很远。 不胜感激,谢谢大家!!
【问题讨论】:
-
这是您需要的吗? mongoplayground.net/p/Xnl1iUSJ3fg
-
@Rfroes87 不完全是。请注意,当您添加新文档时,它们也会被添加。我需要独特的年+月。想象一个存在几年的博客,我想显示一个包含所有独特月份的列表。 5 小时后,我独自想出了一个解决方案,很快就发布了答案。
标签: mongodb date mongoose aggregation