我需要匹配MongoDB中多个条件的帮助
{
"id": "kul",
"powers": [
{
"label": "a",
"Rating": 7
},
{
"label": "b",
"Rating": 3
},
{
"label": "c",
"Rating": 4
},
{
"label": "d",
"Rating": 5
}
],
"phy": {
"height": 67,
"weight": 150
}
}
我只想过滤具有label = c
和rating > 4
电源weight > 150
的记录
答案 0 :(得分:1)
我想您需要使用$elemMatch
,请尝试以下操作:
db.collection.find({
"powers": {
"$elemMatch": {
"label": "c",
"Rating": {
$gt: 4
}
}
},
"phy.weight": {
$gt: 150
}
})
答案 1 :(得分:0)
{
"powers.label": "c",
"powers.Rating": {
$gt: 4
},
"phy.weight": {
$gt: 150
}
}