我的mongodb中有以下结构:
{
"preferred_child": "child_id_2",
"children": [
{
"id": "child_id_1"
},
{
"id": "child_id_2"
}
]
}
使用mongo shell,我如何选择父数据和只有首选子项(具有“id”等于父项“preferred_child”id的子项)?
答案 0 :(得分:1)
尝试使用.aggregate()这样的过滤器:
db.parent.aggregate(
[
{
$project:
{
preferred_child : 1,
children:{
$filter:{
input:"$children",
as:"item",
cond:{
$eq:["$preferred_child","$$item.id"]
}
}
}
}
}
]
)