使用$ lookup在不同数据库中联接多个集合

时间:2019-08-01 20:32:53

标签: mongodb-query lookup

我是Mongo的初学者。我想使用聚合$ lookup模拟一个内部联接,我有3个集合(在单独的数据库中有1个),我想查看用户所属的所有项目,有人可以给我一个例子吗?

这是3个收藏

“ projects.details”

    {
        "_id" : ObjectId("5684f3c454b1fd6926c324fd"),
        "projName" : "I am a test project",
        "active" : "true"
        "projId" : "project1"
    }

“ userDetails.projMembership”

{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "projId" : "project1",
    "userId" : "user1",
    "status" : "Invite"
}

“ userDetails.details”

{
    "_id" : ObjectId("56d82612b63f1c31cf906003"),
    "userId" : "user1",
    "email" : "user1@somemail.com"
}

1 个答案:

答案 0 :(得分:0)

在广泛寻找答案后,答案很简单在Mongo中是不可能的。要达到我想要的结果,唯一的方法是执行$lookup对于userDetails DB中的2个集合,将结果存储在数组中,然后对projects DB中的集合执行另一个查找。希望这对外面的人有帮助。