我正在尝试学习 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
,那么一切都会回来,但我不能做芒果香蕉奶昔,因为我没有香蕉..
所以我只需要第一个和最后一个。任何想法?欣赏它:)