我想查询集合中的数组,并在数组中存在对象时投影值“true”。如果数组中不存在该对象,则投影“false”。我正在使用MongoDB进行操作,对它不太熟悉。
在我的场景中,我有两个要处理的集合。我正在对“员工”成员集合进行聚合,并使用$lookup函数查询“企业”集合。在“企业”集合中,我有一个包含企业能力的数组。
例如,我有员工集合:
staff = [
...
{_id: 1, businessId: 11},
{_id: 2, businessId: 22},
....
]
企业收集
businesses = [
...
{_id: 11, capabilities: ["claiming", "pushing"]},
{_id: 22, capabilities: ["claiming", "popping"]},
....
]
并且设置了一个类似于$lookup的东西
db.getCollection('staff').aggregate([
{
$lookup:
{
from: "businesses",
localField: "businessId",
foreignField: "_id",
as: "business_Info"
}
},
如果“capabilities”中出现“claiming”,我该如何将每个员工的$project转换为类似$canClaim:true的值?