刚刚接触nodejs及mongodb,所以有些东西不太熟悉,遇到一个问题,希望各位大神能帮忙看看。
两个数据模型如下:
Category:
{
"_id" : ObjectId("5d706f2ccc792d3ba88f1b53"),
"title" : "前端",
"__v" : 0
}
Article:
{
"_id" : ObjectId("5d706fa8dbc39a34249a2795"),
"categories" : [
ObjectId("5d706f30cc792d3ba88f1b54")
],
"title" : "标题2",
"body" : "内容2",
"createdAt" : ISODate("2019-09-05T02:15:04.127Z"),
"updatedAt" : ISODate("2019-09-05T02:15:04.127Z"),
"__v" : 0
}
期望:按年进行分类并统计每个年份的数据个数及详细的数据项
利用聚合查询:
const data = await Article.aggregate([{
$group: {
_id: {
$year: '$createdAt',
},
count: {$sum: 1},
list: {
$push: {
title: '$title',
summary: '$summary',
categories: '$categories',
createdAt: '$createdAt',
}
}
}
}
])
得到如下结果:
但是这个categories字段我想要的不只是id,而是要返回id对应的category详情,请各位大神帮帮看看改怎么写?
问题解决了: