簡體   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