【发布时间】:2016-10-01 05:43:10
【问题描述】:
是否可以在 MongoDB 中进行 SQL 内连接之类的操作?
我知道聚合管道中有 $lookup 属性,它相当于 SQL 中的 外连接,但我想做类似于 内连接的事情.
我有三个需要合并在一起的集合:
// User Collection
db.User.find({});
// Output:
{
ID : 1,
USER_NAME : "John",
password : "pass"
}
{
ID : 2,
USER_NAME : "Andrew",
PASSWORD : "andrew"
}
// Role Collection
db.ROLE.find({});
// Output:
{
ID : 1,
ROLE_NAME : "admin"
},
{
ID : 2,
ROLE_NAME : "staff"
}
// USER_ROLE Collection
db.USER_ROLE.find({});
// Output:
{
ID : 1,
USER_ID : 1,
ROLE_ID : 1
}
我有上述集合,我只想提取与用户及其各自角色匹配的文档,而不是所有文档。如何在 MongoDB 中进行管理?
【问题讨论】:
-
如果内部连接很关键,请考虑嵌入数据。否则,您必须运行多个查询才能完全按照您想要的方式加入多个集合。
-
将任何查询转换为 mongo 查询:stackoverflow.com/questions/68155715/…