例如我已经给出了5个移动卖家列表的对象。我想只选择谁卖的品牌:诺基亚,型号名称:Lumia,子模型:Lumia 735 TS,Lumia 510如何在快递和用户中写出条件选择品牌:诺基亚,型号名称:Lumia,Submodel:Lumia 735 TS我怎么能在快递中写出condtion我给了我的控制器请帮我解决过去3天的困难。 存储在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
如果Above condtion匹配,则应显示这3个卖家
1.Poorvika Mobiles
2.Mobile Corner
3.Mobile Bazar
这三家商店只卖品牌:诺基亚
模特:Lumia
子模型:Lumia 735 TS,Lumia 510
Condtion 2:
我想过滤仅销售
的数据品牌:诺基亚
模特:Lumia
子模型:Lumia 735 TS
如果Above condtion匹配,则应显示这3个卖家
1.Poorvika Mobiles
2.Mobile Corner
3.Mobile Bazar
这三家商店只卖品牌:诺基亚
模特:Lumia
子模型:Lumia 735 TS,Lumia 510
答案 0 :(得分:0)
尝试
find({
'Categories.brandname':'Nokia',
'Categories.models.name':'Lumia',
'Categories.models.submodel.name':
{'$all':['Lumia 510', 'Lumia 735 TS']}
})
$all
会为您提供销售Lumia 510 和 Lumia 735的商店。如果您需要选择这些模型中的任何一个的查询,请使用{{ 1}}而不是。