【发布时间】:2015-10-25 01:28:48
【问题描述】:
我在理解 MongoDB 中的一对多关系选项时遇到了麻烦。我有一个相当简单的用例想要证明,但我似乎无法通过我的 Google(和 Stack Overflow)-Fu 找到任何好的分步操作。
如果我访问 mongo 的命令行工具,将一个文档插入到“users”集合中,其中包含与“roles”集合中的 _id 对应的角色 ID 字符串数组......我如何将所有这些绑定在一起猫鼬的一面?当我使用 findOne 方法时,它似乎只是按原样提取“role_id”,所以我知道我一定遗漏了一些东西。
如果我在没有任何参考的情况下将所有这些角色放入用户中,如果我需要启用或禁用角色会发生什么?我是否需要更新每个用户的每个相关角色?
非常感谢另一位新 Mongoer 的帮助和耐心!
【问题讨论】:
-
由于 mongodb 并没有像 sql 那样真正处理“连接”,因此您必须发送两个请求才能获取该数据。一个获取用户,然后另一个获取所有这些用户的所有角色。幸运的是,当您使用 .populate 方法时,猫鼬会为您执行此操作。
-
填充!这就是我一直想念的!我不知道它的存在。谢谢你,@KevinB
标签: node.js mongodb mongoose one-to-many