MongoDB结合了三个集合并获得结果

时间:2018-12-11 17:36:56

标签: node.js mongodb

我要实现的目标是获取联盟成员,然后我需要从用户表中获取联盟成员统计信息。到目前为止,这是我的代码:

Alliance.aggregate([
    {
        "$lookup": {
            "from": "alliancemembers",
            "localField": "_id",
            "foreignField": "ally_id",
            "as": "allymembers"
        },
        "$lookup": {
            "from": "allymembers",
            "localField": "_id",
            "foreignField": "_id",
            "as": "members"
        }            
    }

因此,在第一次查找中,我得到一个加入联盟的成员,问题是我不知道如何编写第二次查找以使用第一次查找中的盟友并与User(用户集合)聚合

Alliance:  _id title
alliancemembers (collection from DB):  _id  ally_id user_id
User: _id username current_exp level arena_wins arena_losses

现在我需要做联盟排行榜,并根据联盟成员的统计数据对联盟进行排序 如您所见,联盟成员统计信息保存在用户集合中(已编辑) 和IDK如何将这三者结合起来

一切都由MongoDB猫鼬完成

0 个答案:

没有答案