是否可以在mongodb中对多个集合进行分组

时间:2015-06-23 18:59:14

标签: mongodb mongodb-query

所以我正在使用一个数据库,该数据库有多个集合,并且集合中有一些数据重叠。特别是我有一个名为app-launch的集合,其中包含一个名为userId的字段和一个名为users的字段,其中特定对象的_id实际上与app-launch中的userId相同。是否可以将两个集合组合在一起,以便分析数据?或者可以将app-launch中的userId与用户中的_id匹配?

1 个答案:

答案 0 :(得分:0)

对于你的问题,杰弗里没有明确的答案,这里的专家都不会告诉你只要有这些信息就可以选择哪种技术。

通过互联网和mongo文档浏览各种网页并了解Mongo在一段时间内使用的设计模式后,我将如何设计它取决于我可以尝试在这里解释它的一些事情。

  1. 如果你有一对一关系,那么总是喜欢选择嵌入链接。例如用户及其地址(假设用户只有一个地址),因此您可以利用原子性(无需担心交易),也可以轻松获取记录,而无需像Linking一样提取其他信息(如在DBRef中)< / LI>
  2. 如果您有一对多关系,那么您需要考虑是否可以通过使用嵌入来完成这些工作(更喜欢这一点,如第1点中的优点所述)。但是,如果您总是想要完整的信息,嵌入会对您有所帮助,例如发布/评论你的要求是通过postId获取帖子及其所有评论。但想想你需要获得评论中包含一些特定标签的所有评论(及其相关帖子)的情况。在这种情况下,你应该更喜欢链接因为如果你通过嵌入路线,那么你最终会得到一个帖子的所有评论集合,你必须过滤所需的评论。
  3. 对于多对多关系我更喜欢两个单独的实体以及另一个用于链接它们的集合,例如产品类别。
  4. - $

相关问题