背景是团体折扣,其中4-7岁之间的一组人将获得5%的折扣,8-12岁之间的一组人将获得10%的折扣。当我查询5
人。我使用以下查询返回[]
:
await Discount.find({ amount: { $gte:5, $lte: 8 } })
.then((discounts) => {
console.log(discounts);
})
.catch(next);
但我试图得到以下对象:
[
{
name: '4+ Group Size',
amount: 4,
},
{
name: '8 Group Size',
amount: 8,
}
]
如何查询两个值之间的关系?
2条答案
按热度按时间lf5gs5x21#
对于这样的db:
您可以使用查询:
要按组中的人数获得相关折扣,请执行以下操作
仅由于playground限制,请查看使用聚合管道的playground example上的逻辑如何工作。
pqwbnv8z2#
也可以使用$and运算符