{
"ID" : 7,
"vendor" : "Gold's Gym",
"savings" : 50,
"value" : 300,
"description" : "Get a 3 month membership for $250 ($300 value)",
"terms" : "Non transferrable",
"product" : "Membership",
"expires" : {
"year" : 2017,
"month" : 7,
"date" : 31
},
"code" : "GYM-1",
"tags" : [
"fitness"
]
},
{
"ID" : 8,
"vendor" : "Golds Gym",
"discount" : 15,
"description" : "Get 15% discount on fitness classes",
"terms" : "Non transferrable",
"exceptions" : "Not applicable to swimming classes",
"product" : "Classes",
"purchaseValidity" : {
"year" : 2017,
"month" : 7,
"date" : 31
},
"expires": {
"year" : 2017,
"month" : 12,
"date" : 31
},
"code" : "GYM-2",
"tags" : [
"fitness"
]
}这是拉格码的一部分。但是,我想检索带有标签的数据项:提供折扣的健身:$gte 10或超过10的储蓄。
这就是我开始使用的东西,但是我找不到可以同时使用折扣和健身的语法。
items.find({tags: "fitness"}, {discount: {$gte: 10}}).pretty()发布于 2017-06-09 05:49:38
你可以这样做:-
1.用于数组中匹配的$elemMatch。
2.$和默认情况下的查询。
items.find({ tags:{ $elemMatch:{$eq: "fitness"}} ,
$or:[ {discount: {$gte: 10}},
{savings: {$gte: 10}}
] })谢谢。
https://stackoverflow.com/questions/44450017
复制相似问题