使用 $lookup 连接不同数据库中的多个集合

Joining multiple collections in different databases with $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"
}

在广泛搜索答案后,答案很简单 这在 Mongo 中是不可能的。 实现我正在寻找的结果的唯一方法就是对 userDetails DB 中的 2 个集合执行 $lookup,将结果存储在数组中,然后对 projects DB 中的集合执行另一次查找。希望这可以帮助那里的人。