Mongodb Mongo Db:多阵列上的elemMatch查询
请查看以下mongo Db的文档结构Mongodb Mongo Db:多阵列上的elemMatch查询,mongodb,Mongodb,请查看以下mongo Db的文档结构 { _id : 0, name : "Employee1", distributionList :[ { dlname : "ALLEmployee"}, {dlname:"financeall"} ], csrActivity : [ {activityname : "blooddonation"}, {activityname : "tree plantation"} ] } 我想要属于financeall分配列表的员工名单,并选择
{ _id : 0,
name : "Employee1",
distributionList :[ { dlname : "ALLEmployee"}, {dlname:"financeall"} ],
csrActivity : [ {activityname : "blooddonation"}, {activityname : "tree plantation"} ]
}
我想要属于financeall分配列表的员工名单,并选择了志愿植树CSR活动
预期结果如下所示
{ _id : 0,
name : "Employee1",
distributionList :[{dlname:"financeall"} ],
csrActivity : [ {activityname : "tree plantation"} ]
}
但到目前为止,我们还无法实现以下查询输出
查询:
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}}
)
输出:
{ _id : 0,
name : "Employee1",
distributionList :[{dlname:"financeall"} ]
}
使用$elemMatch
获得所需的输出,但找不到如何在同一文档中的多个数组上使用它。还尝试了某些组合,但未能获得预期的结果
下面的查询已尝试,但未获得所需的输出
db.employee.find(
{name : "Employee1"},
{distributionList : {$eleMatch : {dlname : "financeall"}}},
{csrActivity: {$eleMatch : {activityname : "tree plantation"}}}
)
非常感谢您提供的任何帮助您只是拼错了投影操作符
$elemMatch
正确的查询是:
db.employee.find(
{
name: "Employee1"
}, {
distributionList: {
$elemMatch: {
dlname: "financeall"
}
},
csrActivity: {
$elemMatch: {
activityname: "tree plantation"
}
}
}
)
尝试
db.employee.find({name:“Employee1”},{distributionList:{$elemMatch:{dlname:“financeall”}}},cspractivity:{$elemMatch:{activityname:{tree plantment:}}})
已经尝试了这个查询,并且更新了我的问题,它不起作用,请仔细查看查询。不一样。是的,很有效。谢谢你的帮助