【发布时间】:2019-11-14 13:57:54
【问题描述】:
我尝试使用 $elemmatch 过滤数据,但无法正常工作。
我的场景
产品表
[
{
id:1.
product:[
{
id:1,
name:true
},
{
id:2,
name:true
},
{
id:3,
name:false
}
]
}
]
查询
db.Prod.find(
{"product.name": true},
{_id: 0, product: {$elemMatch: {name: true}}});
我得到了输出
[
{
id:1.
product:[
{
id:1,
name:true
}
]
}
]
异常输出
[
{
id:1.
product:[
{
id:1,
name:true
},
{
id:2,
name:true
}
]
}
]
如何实现这个场景,我参考了这个链接Retrieve only the queried element in an object array in MongoDB collection,我尝试了这个链接中提到的所有答案。但它仍然不起作用可以给出一个示例查询。
【问题讨论】:
-
请用缩进格式化您的代码,现在很难阅读
-
@Kannan 我编辑的代码格式可以请检查一下
标签: mongodb mongoose mongodb-query