[英]Mongoose query to list the document based on value from nested document
在此代碼中,我嘗試根據 mongoose 查詢中的產品尺寸匹配文檔。 我試過這個查詢,但它不起作用。 誰能告訴我這段代碼有什么問題?
我已通過的查詢:
{ $match: { "product_items.product_size": { value: 22, unit: "ml" } } }
** 結構:**
[
{
"product_name": "sample product",
"product_items": [
{
"product_item_number": "796363011028",
"product_size": {
"value": 22,
"unit": "ml"
}
}
]
}
]
它不能以這種方式工作,因為product_items.product_size
評估為對象數組,並且您試圖將單個 object 與此類數組進行比較。 使用對象的 arrays 時使用$elemMatch更可靠:
db.collection.aggregate([
{
$match: {
"product_items": {
$elemMatch: {
"product_size.value": 22,
"product_size.unit": "ml"
}
}
}
}
])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.