私は MongoDB を学ぼうとしていますが、今のところ素晴らしいです。しかし、私は状況に遭遇し、それを解決する方法がよくわかりません。うまくいけば、誰かが私を助けてくれます。
(全体の)配列値がクエリ内にあるというレコードを取得したかったのです。例えば:
レコード 1 :
{"name" : "Mango Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"}]}
レコード 2 :
{"name" : "Mango Banana Shake",
"ingredients" : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "banana"}]}
レコード 3:
{"name" : "Milk Shake",
"ingredients" : [{"type" : "milk", "name" : "soy milk"}]}
次に、次のようなクエリがあります
{"ingredients" : {$all : [{"type" : "fruit", "name" : "mango"},
{"type" : "milk", "name" : "soy milk"},
{"type" : "fruit", "name" : "strawberry"}]}}
「マンゴー」「豆乳」「いちご」があるから。だから私は自分ができるシェイクを知りたかった. クエリに余分なものを含めることができないため、明らかにこれは何も返しません。使えば元に$in
戻りますが、バナナがないのでマンゴーバナナシェイクはできません..
だから私が必要なのは最初と最後のものだけです。何か案が?感謝します :)