主要集合是零售商,其中包含商店阵列。每个商店都包含一系列优惠(您可以在此商店中购买)。此提供数组具有大小数组。(请参见下面的示例)
现在,我尝试查找所有尺寸为的报价L。
{
"_id" : ObjectId("56f277b1279871c20b8b4567"),
"stores" : [
{
"_id" : ObjectId("56f277b5279871c20b8b4783"),
"offers" : [
{
"_id" : ObjectId("56f277b1279871c20b8b4567"),
"size": [
"XS",
"S",
"M"
]
},
{
"_id" : ObjectId("56f277b1279871c20b8b4567"),
"size": [
"S",
"L",
"XL"
]
}
]
}
}
我已经尝试过以下查询: db.getCollection('retailers').find({'stores.offers.size': 'L'})
我期望这样的输出:
{
"_id" : ObjectId("56f277b1279871c20b8b4567"),
"stores" : [
{
"_id" : ObjectId("56f277b5279871c20b8b4783"),
"offers" : [
{
"_id" : ObjectId("56f277b1279871c20b8b4567"),
"size": [
"S",
"L",
"XL"
]
}
]
}
}
但是我的查询输出还包含与sizeXS,X和M 不匹配的报价。
如何强制MongoDB仅返回与查询匹配的商品?
问候和感谢。
相关分类