例如,我给了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

10-06 14:19