使用 $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
中的集合执行另一次查找。希望这可以帮助那里的人。
我是 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
中的集合执行另一次查找。希望这可以帮助那里的人。