Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose-对嵌套数组中的所有元素有效的条件_Javascript_Mongoose_Filter - Fatal编程技术网

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

Javascript Mongoose-对嵌套数组中的所有元素有效的条件,javascript,mongoose,filter,Javascript,Mongoose,Filter,我的文档有一个嵌套的对象数组。这些“item”对象的一个字段是“totalPrice” 我希望能够以这样的方式过滤文档,即它只返回具有完全满足过滤器要求的items数组的文档,这意味着数组中的每个对象的价格都低于过滤器 我当前的查询如下所示: MyObjModel.find({“items.totalPrice”:{$lt:100}) 我的期望是,它只返回每个项目的价格低于100的文档。但是,它返回只有一个数组项满足要求的文档,因此它将返回这个文档,尽管第二个数组项不满足查询 { item

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

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

我当前的查询如下所示:

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

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

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

如何更改我的查询对象?

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

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

谢谢你的回答。我如何像这样将多个条件链接在一起?例如,如果我查找项目在80到100之间的文档,那么您可以使用$并结合此答案: