MongoDB$project将文档嵌入到根级别,并在另一个文档中包含其他字段
我有这个结构MongoDB$project将文档嵌入到根级别,并在另一个文档中包含其他字段,mongodb,aggregate,Mongodb,Aggregate,我有这个结构 { "_id": "5e7229c248797243544a15b6", "itinerary": [ { "_id": "5e96f905c694d020bc99c2e4" }, { "_id": "5e7230360bab9640f82a0e79" } ] },
{
"_id": "5e7229c248797243544a15b6",
"itinerary": [
{
"_id": "5e96f905c694d020bc99c2e4"
},
{
"_id": "5e7230360bab9640f82a0e79"
}
]
},
并且需要以这种方式转换文档
{ "_id": "5e7229c248797243544a15b6"},
{ "_id": "5e96f905c694d020bc99c2e4"},
{ "_id": "5e7230360bab9640f82a0e79"}
感谢您对团队的帮助。:) 试试这个:
db.collection.aggregate([
{
$project: {
data: {
$concatArrays: [
[
{ _id: "$_id" }
],
{
$map: {
input: "$itinerary",
in: "$$this"
}
}
]
}
}
},
{
$unwind: "$data"
},
{
$replaceRoot: {
newRoot: "$data"
}
}
])
?我可以解构行程?@DanielLopez您需要做什么?我需要将行程id保留在根级别,以便以后对其进行分组。@DanielLopez请发布您的预期结果,我可以更改管道。如果在
$project
阶段之前添加{$undind:“$inventurey”}
,则可以将其展平到单独的文档中。是否可以查看我的查询