请在下面找到mongo Db的文档结构
{ _id : 0,
name : "Employee1",
distributionList :[ { dlname : "ALLEmployee"}, {dlname:"financeall"} ],
csrActivity : [ {activityname : "blooddonation"}, {activityname : "tree plantation"} ]
}
我想要隶属于financeall分配清单的员工清单,并选择参加志愿者植树CSR活动。
预期结果集如下
{_id:0, 名称:“ Employee1”, distributionList:[{dlname:“ financeall”}], csrActivity:[{activityname:“ tree plantation”}]
}
但到目前为止,仍能够实现查询的以下输出
查询:
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}}
)
输出: {_id:0, 名称:“ Employee1”, distributionList:[{dlname:“ financeall”}] }
使用$elemMatch
获得所需的输出,但找不到如何在同一文档中的多个数组上使用它。还尝试了某些组合,但无法获得预期的结果。
以下查询已尝试但未获得所需的输出
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}},
{csrActivity: {$eleMatch : {activityname : "tree plantation"}}}
)
任何帮助将受到高度赞赏
答案 0 :(得分:1)
您只拼错了投影运算符$elemMatch
正确的查询是:
db.employee.find(
{
name: "Employee1"
}, {
distributionList: {
$elemMatch: {
dlname: "financeall"
}
},
csrActivity: {
$elemMatch: {
activityname: "tree plantation"
}
}
}
)