其结构如下所示:
{
clientName: "client1",
employees: [
{
"employeename": 1,
"configuration": {
"isAdmin": true,
"isManager": false
}
}
{
"employeename": 2,
"configuration": {
"isAdmin": false,
"isManager": false
}
}...
]
},
{
...
}
'我想查看一个特定客户端中的管理员员工,假设我有客户端名称。我如何在MongoDB中为此编写查询?我想只查看(项目)匹配的员工?我可以组合它来匹配多个条件吗?例如:既是行政人员又是经理的人。
我尝试过:
db. collection. find({客户端名称:"客户端1"、"雇员.配置. isAdmin":true},{"雇员.雇员姓名":1})
这只是返回所有员工。
我也尝试过使用$elemMatch,但没有效果。
任何帮助都很感激。
1条答案
按热度按时间c0vxltue1#
您可以使用聚合框架来完成此操作:
$match
-根据clientName属性过滤文档$filter
与$eq
-仅筛选具有管理员权限的员工Working example