如何解决如何在mongodb中过滤数组元素
我在mongodb中有一个文档:
{
"company": "npcompany","department": [
{
"name": "it","employeeIds": [
"emp1","emp2","emp3"
]
},{
"name": "economy","emp3","emp4"
]
}
]
}
我想找到“ emp4”。在这种情况下,我只想获取“经济”部门数据。如果我找到“ emp1”,那么我想获取“ npcompany”和“经济”数据。我如何在mongodb(或pymongo)中做到这一点?
解决方法
db.collection.aggregate([ //As you need to fetch all matching array elements,reshape them
{
$unwind: "$department"
},{
"$match": {//look for match
"department.employeeIds": "emp4"
}
},{
$group: {//regroup them
"_id": "$_id",data: {
"$push": "$$ROOT"
}
}
}
])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。