如何返回Mongodb聚合管道文档到一个文档?



我知道这必须很简单,但是对于我的生命,我似乎无法在我的管道中生成正确的最后阶段以使其工作。以下是我在mongo查询中的一个阶段的文档输出:

{ "_id" : ObjectId("61435ceb233ce0118c1d93ec") }
{ "_id" : ObjectId("61435cf29598d31c17f0d839") }
{ "_id" : ObjectId("611e5cf953396d78985d222f") }
{ "_id" : ObjectId("61435cf773b8b06c848af83e") }
{ "_id" : ObjectId("61435cfd7ac204efa857e7ce") }
{ "_id" : ObjectId("611e5cf953396d78985d2237") }

我想把这些文档变成一个单一的文档与数组:

{ 
"_id" : [
ObjectId("61435ceb233ce0118c1d93ec"),
ObjectId("61435cf29598d31c17f0d839"),
ObjectId("611e5cf953396d78985d222f"),
ObjectId("61435cf773b8b06c848af83e"),
ObjectId("61435cfd7ac204efa857e7ce"),
ObjectId("611e5cf953396d78985d2237")
]
}

管道中的最后一个阶段很简单:

{
$group:{_id:"$uniqueIds"}
}

我已经尝试了从$push到$mergeObjects的一切,但无论我做什么,它都会以某种形状或形式返回原始的6个文档,而不是一个文档。任何建议将非常感激!提前谢谢。

此处测试代码

查询

  • group by null,将所有集合视为1组
db.collection.aggregate([
{
"$group": {
"_id": null,
"ids": {
"$push": "$_id"
}
}
},
{
"$unset": "_id"
}
])

相关内容

最新更新