Mongodb Mongoose查询,根据嵌套文档中的值列出文档

Mongodb Mongoose查询,根据嵌套文档中的值列出文档,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,在这段代码中,我试图根据mongoose查询中的产品大小匹配文档。 我尝试了这个查询,但不起作用。谁能告诉我这段代码有什么问题吗 我已通过的查询: {$match:{“product\u items.product\u size:{值:22,单位:“ml”}} **结构:** [ { "product_name": "sample product", "product_items&quo

在这段代码中,我试图根据mongoose查询中的产品大小匹配文档。 我尝试了这个查询,但不起作用。谁能告诉我这段代码有什么问题吗

我已通过的查询:
{$match:{“product\u items.product\u size:{值:22,单位:“ml”}}

**结构:**

  [
    {
            "product_name": "sample product",
            "product_items": [
                {
                    "product_item_number": "796363011028",
                    "product_size": {
                        "value": 22,
                        "unit": "ml"
                    }
                }
            ]
        }
]

它不能以这种方式工作,因为
product\u items.product\u size
的计算结果是一个对象数组,您试图将单个对象与这样的数组进行比较。在处理对象数组时使用它更可靠:

db.collection.aggregate([
    {
        $match: {
            "product_items": {
                $elemMatch: {
                    "product_size.value": 22,
                    "product_size.unit": "ml"
                }
            }
        }
    }
])