我到處搜索,但沒有得到任何解決方案。任何人都可以幫忙嗎?
我有一個像影像一樣的貓鼬物件-

在這里,我還從前端獲得了一系列產品,例如-
products: [
{ product: "61adbb70207f1002fc7c5c2a", quantity: 1 }
{ product: "61adbb52207f1002fc7c5c27", quantity: 2 }
]
當所有產品都與查詢匹配時,我必須找到貓鼬資料。
這是我的實踐——
const order = await Order.exists({
products: {
$elemMatch: {
product: {
$all: input.products.map(item => item.product)
}
}
},
user: reqUserInfo._id
});
更多說明--
當我從前端得到這個-
products: [
{ product: "61adbb70207f1002fc7c5c2a", quantity: 1 }
{ product: "61adbb52207f1002fc7c5c27", quantity: 2 }
]
那么它應該回傳 true
當我得到這個時——
products: [
{ product: "61adbb70207f1002fc7c5c2a", quantity: 1 }
]
它也應該回傳true。
但是當我得到這個——
products: [
{ product: "61adbb70207f1002fc7c5c2a", quantity: 1 }
{ product: "61b3786ba2123f03dc6da691", quantity: 2 } // This not in the database
]
或這個
products: [
{ product: "61b37850a2123f03dc6da68e", quantity: 1 }
{ product: "61b3786ba2123f03dc6da691", quantity: 2 }
//This two are not in the database
]
然后應該回傳 false
我怎樣才能做到這一點?請幫我。
uj5u.com熱心網友回復:
嘗試
const order = await Order.exists({
"products.product": {
$all: input.products.map(item => item.product)
},
user: reqUserInfo._id
});
它現在應該可以作業了!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/387323.html
標籤:javascript MongoDB 猫鼬
