gpt4 book ai didi

node.js - 如何使用 mongoose(express.js) 编写选择数据的条件?

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:28 25 4
gpt4 key购买 nike

例如,我给出了 5 个对象,即移动卖家列表。我只想选择所有销售的品牌:诺基亚,型号:Lumia,子型号:Lumia 735 TS,Lumia 510 我如何在 Express 中写入条件,如果用户选择品牌:诺基亚,型号:Lumia,子型号:Lumia 735 TS 我如何在 Express 中写入条件我已经给了我的 Controller ,请帮助我度过过去 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
}

Controller :

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

关于node.js - 如何使用 mongoose(express.js) 编写选择数据的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com