[英]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.