【发布时间】:2017-07-02 13:25:58
【问题描述】:
以下是mongodb中的集合
{
"name" : "Tom" ,
"occupation" : "employee" ,
"data" : [
{
"owns" : "Television" ,
"company" : "xyz"
},
{
"owns" : "Television" ,
"company" : "abc"
},
{
"owns" : "laptop" ,
"company" : "abc"
} ,
{
"owns" : "Television" ,
"company" : "xyz"
}
]
}
当我查询时
db.exp.find({"data.owns" : "Television"})
mongodb 返回结果集中包含 "owns" :"laptop" 的文档。
当我查询时
db.exp.find({"data.owns": "Television"},{_id: 0, data: {$elemMatch: {"owns": "Television"}}})
结果仅显示找到第一个匹配“电视”的数据字段中的一个文档
我如何查询以获得汤姆拥有电视的所有 3 个文档,不包括笔记本电脑文档。 预期结果
[
{
"owns" : "Television" ,
"company" : "xyz"
},
{
"owns" : "Television" ,
"company" : "abc"
},
{
"owns" : "Television" ,
"company" : "xyz"
}
]
注意:在这个例子中我只提到了数据字段中的 4 个文档,而原始集合有超过 50 个文档。 对不起我糟糕的英语:)。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework