質問
私はそれらの文書を持っています:
{
"result": "ok",
"variants": [
{
"state": {
"state1": false,
"state2": false
}
},
{
"state": {
"state1": false,
"state2": false
}
}
]
}
{
"result": "ok",
"variants": [
{
"state": {
"state1": false,
"state2": false
}
},
{
"state": {
"state1": false,
"state2": true
}
}
]
}
{
"result": "not_ok",
"variants": [
{
"state": {
"state1": true,
"state2": false
}
},
{
"state": {
"state1": true,
"state2": false
}
}
]
}
{
"result": "not_ok",
"variants": [
{
"state": {
"state1": true,
"state2": false
}
},
{
"state": {
"state1": false,
"state2": true
}
}
]
}
.
と文書内の少なくとも1つのバリアントがstate1: false
とstate2: false
を持っているものを見つけるためにnead。私はこれを試してみました:
{
"variants.state.state1": false,
"variants.state.state2": false
}
.
しかし、それは私に、どのバリアントの1つがstate1: false
を持っていて、そのバリアントの1つがstate2: false
を持っている文書を与えます。両方のフィルタを1つのサブ文書に個別に単位で入力してください。
解決
これは答えです:
{
"variants.state": { "$elemMatch" : {"state1" : false, "state2" : false } }
}
. 所属していません StackOverflow