我有5个收藏
user : { "id": 1}
group: { "gid": 13, "name": "group1"}
subgroup: {"sgid": 22, "gid": 13, "name": "sgroup1"}
maps : {"userId": 1, "id": 10, "mapId": 13}
data: {"sgid": 22, "somedata": "somedata"}
我有当前的user
id
,现在使用userId
,我需要从maps
获得mapId
,使用mapId
从subgroup
获得sgid
,从sgid
获得data
,沿着我需要的数据groupname
和subgroup
名称。
1条答案
按热度按时间dpiehjr41#
我觉得你需要这样的东西:
技巧基本上是使用$lookup执行“连接”,另外使用
$unwind
解构结果($lookup
也可以使用数组)。最后一个阶段是
$project
,只获取您想要的值。示例here
顺便说一句,如果你需要4 $lookup '也许Mongo不是最好的DB(但这只是一个意见).