加入2个集合后如何获取数据?

时间:2014-10-29 09:59:20

标签: mongodb meteor

如何在 mongoDB 中编写查询以及如何使用 meteorJs 获取值。请在此处建议我是如何将sql查询转换为mongoDB。

select username, group_id 
from auth_user
join auth_user_groups
       on
     auth_user.id = auth_user_groups.user_id;

1 个答案:

答案 0 :(得分:0)

mongoDB中没有“join”的概念。如果您需要从两个不同的集合中检索和混合数据,则需要两个查询。

您能描述一下您的数据模型是什么吗?

读取您的SQL查询,看起来您有一个user表(包含用户详细信息)和一个user_groups表,其中包含用户所属组的ID。类似的东西:

--------------------------
| user_id   | group_id   |
--------------------------

通常,这是通过在group_id对象中嵌入User列表在mongo中建模的。 类似的东西:

{
    user_id: "",
    name: "John Smith",
    ...
    groups: [
        "group_id_1",
        "group_id_2",
        "group_id_3",
        ]
}

因此,您可能拥有一个包含users个对象的集合User,其中包含一个嵌入式数组groups(相同的信息 - 在您的关系模型中 - 存储在单独的{{1}中表格)和一个单独的集合user_groups,其中groups个对象包含组的详细信息(名称,描述,......)