我的文档具有嵌套的对象数组。这些“ item”对象的一个字段是“ totalPrice”。
我希望能够以仅返回具有完全满足过滤条件的items数组的docs的文档的方式过滤文档,这意味着数组中的每个对象的价格都低于过滤条件。
我当前的查询如下:
MyObjModel.find({"items.totalPrice": { $lt: 100 } })
我的期望是,它仅返回价格低于100的每个项目的文档。但是,它返回仅一个数组的项目满足要求的文档,因此尽管第二个项目不满足价格要求,它将返回此文档。查询。
{
items: [{totalPrice: 88}, {totalPrice: 120}]
}
我该如何更改查询对象?
答案 0 :(得分:1)
您可以查找没有任何物品的价格大于或等于100的文档,而不是查找每个物品的价格小于100的文档。
Model.find({'items.totalPrice': {$not: {$gte: 100}}})