例如,我给了5个移动卖家列表对象。我只想选择谁都在销售品牌:诺基亚,型号名称:Lumia,子模型:Lumia 735 TS,Lumia 510如何在快递中写条件,如果用户选择品牌:诺基亚,型号名称:Lumia,子型号:Lumia 735 TS我该如何在快递中写出条件,我已经给我的控制器请帮了我三天的苦苦挣扎。
在mongodb中存储的卖方列表
object 1
{
"_id": {
"$oid": "56a63a968411612f36ab4b5d"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "7500",
"name": "Lumia 735 TS"
},
{
"price": "1000",
"name": "Lumia 510"
}
],
"name": "Lumia"
}
],
"brandname": "Nokia",
"id": "986745"
}
],
"Storename": "Poorvika Mobiles",
"__v": 0
}
object 2:
{
"_id": {
"$oid": "56a63b418411612f36ab4b5e"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "7500",
"name": "Lumia 735 TS"
},
{
"price": "8500",
"name": "Lumia 830"
}
],
"name": "Lumia"
}
],
"brandname": "Nokia",
"id": "986745"
}
],
"Storename": "Nokia Store",
"__v": 0
}
object 3:
{
"_id": {
"$oid": "56a63b738411612f36ab4b5f"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "7500",
"name": "Lumia 735 TS"
},
{
"price": "8500",
"name": "Lumia 830"
}
],
"name": "Lumia"
},
{
"submodel": [
{
"price": "12000",
"name": "Asha Asn01"
},
{
"price": "5000",
"name": "Nokia Asha Dual sim"
}
],
"name": "Asha"
}
],
"brandname": "Nokia",
"id": "986745"
}
],
"Storename": "Sun Mobiles",
"__v": 0
}
object 4:
{
"_id": {
"$oid": "56a63b7d8411612f36ab4b60"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "7500",
"name": "Lumia 735 TS"
},
{
"price": "1000",
"name": "Lumia 510"
}
],
"name": "Lumia"
},
{
"submodel": [
{
"price": "12000",
"name": "Asha Asn01"
},
{
"price": "5000",
"name": "Nokia Asha Dual sim"
}
],
"name": "Asha"
}
],
"brandname": "Nokia",
"id": "986745"
}
],
"Storename": "Mobile Corner",
"__v": 0
}
object 5:
{
"_id": {
"$oid": "56a63b948411612f36ab4b61"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "8500",
"name": "Trend 840"
},
{
"price": "10000",
"name": "Galaxy Note Duos"
}
],
"name": "Galaxy"
}
],
"brandname": "Samsung",
"id": "144745"
}
],
"Storename": "Asath Mobile Center",
"__v": 0
}
object 6:
{
"_id": {
"$oid": "56a63ba48411612f36ab4b62"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "8500",
"name": "Trend 840"
},
{
"price": "10000",
"name": "Galaxy Note Duos"
}
],
"name": "Galaxy"
},
{
"submodel": [
{
"price": "6700",
"name": "Asha 230"
},
{
"price": "8500",
"name": "Asha Asn01"
}
],
"name": "Asha"
}
],
"brandname": "Samsung",
"id": "144745"
}
],
"Storename": "Zigzag Mobiles",
"__v": 0
}
object 7:
{
"_id": {
"$oid": "56a63baf8411612f36ab4b63"
},
"default": [],
"Categories": [
{
"models": [
{
"submodel": [
{
"price": "7500",
"name": "Lumia 735 TS"
},
{
"price": "1000",
"name": "Lumia 510"
}
],
"name": "Lumia"
},
{
"submodel": [
{
"price": "12000",
"name": "Asha Asn01"
},
{
"price": "5000",
"name": "Nokia Asha Dual sim"
}
],
"name": "Asha"
}
],
"brandname": "Nokia",
"id": "986745"
},
{
"models": [
{
"submodel": [
{
"price": "8500",
"name": "Trend 840"
},
{
"price": "10000",
"name": "Galaxy Note Duos"
}
],
"name": "Galaxy"
},
{
"submodel": [
{
"price": "6700",
"name": "Asha 230"
},
{
"price": "8500",
"name": "Asha Asn01"
}
],
"name": "Asha"
}
],
"brandname": "Samsung",
"id": "144745"
}
],
"Storename": "Mobile Bazar",
"__v": 0
}
控制器:
exports.shopByPhone = function(req, res) {
Shop.find().sort('-created').populate('user', 'displayName').exec(function(err, shops) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(shops);
}
});
};
条件1:
我想过滤仅销售商品的数据
品牌:诺基亚
型号:Lumia
子型号:Lumia 735 TS,Lumia 510
如果符合上述条件,则应显示这3个卖家
1,Poorvika手机
2.移动角落
3.流动市场
这3家店铺只卖
品牌:诺基亚
型号:Lumia
子型号:Lumia 735 TS,Lumia 510
条件2:
我想过滤仅销售商品的数据
品牌:诺基亚
型号:Lumia
子型号:Lumia 735 TS
如果符合上述条件,则应显示这3个卖家
1,Poorvika手机
2.移动角落
3.流动市场
这3家店铺只卖
品牌:诺基亚
型号:Lumia
子型号:Lumia 735 TS,Lumia 510
最佳答案
尝试
find({
'Categories.brandname':'Nokia',
'Categories.models.name':'Lumia',
'Categories.models.submodel.name':
{'$all':['Lumia 510', 'Lumia 735 TS']}
})
$all
将为您提供同时出售Lumia 510和Lumia 735的商店。如果您需要选择这些模型之一的查询,请改用$in
。