我有一个包含以下文件的集合 -
{"_id":ObjectId("xxx"),"article_Id":"1","publish_Time":NumberLong(10)}
{"_id":ObjectId("yyy"),"article_Id":"1","publish_Time":NumberLong(11)}
{"_id":ObjectId("zzz"),"article_Id":"1","publish_Time":NumberLong(12)}
我想在article_id上聚合,期望的结果有点像 -
{"_id":{"articleId":"1"}, pub_t:[publish_Time":NumberLong(10),publish_Time":NumberLong(11),publish_Time":NumberLong(10)]}
我想将单独文档中的publish_time字段与结果中的一个数组合并。 我怎样才能做到这一点? 在此先感谢。
答案 0 :(得分:1)
db.articles.aggregate(
{
$group:
{
_id:
{
articleId: "$article_Id"
},
pub_t:
{
$push: "$publish_Time"
}
}
})
{
"_id" : {
"articleId" : "1"
},
"pub_t" : [
NumberLong(10),
NumberLong(11),
NumberLong(12)
]
}