在mongodb 3.6中构建查询时遇到一些麻烦,它会将(?)一些数据聚合在一起。
我有一个名为" Roles"的集合,其中我存储我的角色和链接到该角色的用户:
{
_Id: ObjectId('..'),
RoleName: admin,
Users: [.. array of users ..]
},
{
_Id: ObjectId('..'),
RoleName: others,
Users: [.. array of users ..]
},
{
_Id: ObjectId('..'),
RoleName: users,
Users: [.. array of users ..]
}
我搜索了大量关于投影和查找操作符,没有成功。 我想得到这样的东西:
{
_Id: ObjectId('a'),
RoleName: admin,
Users: [.. array of users ..],
AvailableRoles: [
{
_Id: ObjectId('c'),
RoleName: users
},
{
_Id: ObjectId('b'),
RoleName: others
}]
},
{
_Id: ObjectId('b'),
RoleName: others,
Users: [.. array of users ..],
AvailableRoles: [
{
_Id: ObjectId('c'),
RoleName: users
},
{
_Id: ObjectId('a'),
RoleName: admin
}]
},
{
_Id: ObjectId('c'),
RoleName: users,
Users: [.. array of users ..],
AvailableRoles: [
{
_Id: ObjectId('b'),
RoleName: others
},
{
_Id: ObjectId('a'),
RoleName: admin
}]
}
" AvailableRoles"如您所见,包含除他自己以外的其他角色实体。
是否可以在一个查询中进行?
问候