簡體   English   中英

ZCCADCDEDB567ABAE643E15DCF0974E503Z 查詢以根據嵌套文檔中的值列出文檔

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM