Javascript Mongoose-对嵌套数组中的所有元素有效的条件
我的文档有一个嵌套的对象数组。这些“item”对象的一个字段是“totalPrice” 我希望能够以这样的方式过滤文档,即它只返回具有完全满足过滤器要求的items数组的文档,这意味着数组中的每个对象的价格都低于过滤器 我当前的查询如下所示:Javascript Mongoose-对嵌套数组中的所有元素有效的条件,javascript,mongoose,filter,Javascript,Mongoose,Filter,我的文档有一个嵌套的对象数组。这些“item”对象的一个字段是“totalPrice” 我希望能够以这样的方式过滤文档,即它只返回具有完全满足过滤器要求的items数组的文档,这意味着数组中的每个对象的价格都低于过滤器 我当前的查询如下所示: MyObjModel.find({“items.totalPrice”:{$lt:100}) 我的期望是,它只返回每个项目的价格低于100的文档。但是,它返回只有一个数组项满足要求的文档,因此它将返回这个文档,尽管第二个数组项不满足查询 { item
MyObjModel.find({“items.totalPrice”:{$lt:100})
我的期望是,它只返回每个项目的价格低于100的文档。但是,它返回只有一个数组项满足要求的文档,因此它将返回这个文档,尽管第二个数组项不满足查询
{
items: [{totalPrice: 88}, {totalPrice: 120}]
}
如何更改我的查询对象?您可以查找没有价格大于或等于100的项目的文档,而不是查找每个项目的价格小于100的文档
Model.find({'items.totalPrice': {$not: {$gte: 100}}})
谢谢你的回答。我如何像这样将多个条件链接在一起?例如,如果我查找项目在80到100之间的文档,那么您可以使用$并结合此答案: