繁体   English   中英

Mongoose - 对嵌套数组中的所有元素都有效的条件

[英]Mongoose - condition that is valid for all elements in nested array

我的文档有一个嵌套的对象数组。 这些“item”对象的一个​​字段是“totalPrice”。

我希望能够以一种方式过滤文档,它只返回具有完全满足过滤器的 items 数组的文档,这意味着数组中的每个对象的价格都低于过滤器。

我当前的查询如下所示:

MyObjModel.find({"items.totalPrice": { $lt: 100 } })

我的期望是它只返回每个项目的价格小于 100 的文档。但是,它返回只有一个数组项目满足要求的文档,所以它会返回这个,尽管第二个项目不满足查询。

{
   items: [{totalPrice: 88}, {totalPrice: 120}]
}

我将如何更改我的查询对象?

您可以查找没有商品价格大于或等于 100 的文档,而不是查找每个商品的价格小于 100 的文档。

Model.find({'items.totalPrice': {$not: {$gte: 100}}})

蒙戈游乐场

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM