我想对多个子文档上的给定嵌套值执行查询。
在下面的示例中,我想跨多个“product_types”对象执行搜索。
{
"product_types": {
"type_1": [
{
name: "something",
price: 100
},
{
name: "something else",
price: 50
}
],
"type_2": [
{
name: "another one",
price: 20
},
{
name: "and a last one",
price: 30
}
]
}
}
我知道美元符号匹配任何子文档。这是我想出的以“价格”值为 100 的方式获得所有产品的方法。但它不起作用。任何想法?
db.inventory.find( { product_types.$.price : 100 } )
PS:我预计一些答案会说这种存储产品的数据库设计会非常糟糕,我同意;这只是一个示例来说明我想要执行的查询类型。