【发布时间】:2022-01-02 14:20:54
【问题描述】:
【问题讨论】:
标签: arrays mongodb mongodb-query
【问题讨论】:
标签: arrays mongodb mongodb-query
实现此目的的一种方法是使用$unwind,它将数组展平。
考虑以下 (you can also check out a live demo here):
[
{
_id: 1,
data: [
{
id_propositions: 10,
desc: "a"
},
{
id_propositions: 19,
desc: "b"
},
{
id_propositions: 19,
desc: "c"
},
{
id_propositions: 10,
desc: "d"
}
]
},
{
_id: 2,
data: [
{
id_propositions: 20,
desc: "z"
},
{
id_propositions: 19,
desc: "x"
},
{
id_propositions: 19,
desc: "y"
},
{
id_propositions: 20,
desc: "w"
}
]
}
]
db.collection.aggregate([
{
$unwind: "$data"
},
{
$match: {
"data.id_propositions": 19
}
}
])
[
{
"_id": 1,
"data": {
"desc": "b",
"id_propositions": 19
}
},
{
"_id": 1,
"data": {
"desc": "c",
"id_propositions": 19
}
},
{
"_id": 2,
"data": {
"desc": "x",
"id_propositions": 19
}
},
{
"_id": 2,
"data": {
"desc": "y",
"id_propositions": 19
}
}
]
【讨论】: