如何在 mongodb 中创建这种命名对象的结构?

Posted

技术标签:

【中文标题】如何在 mongodb 中创建这种命名对象的结构?【英文标题】:How can I create this structure of named objects in mongodb? 【发布时间】:2017-10-12 03:03:46 【问题描述】:

现在,我正在使用具有类似结构的 Firebase。我正在切换到 MongoDB,以便进行更复杂的查询。


  leagues: 
    'a':  players, teams ,
    'b':  players, teams 
  

球员、球队等都会有模型。他们将在用户创建的联赛中。

如何在 MongoDB 中创建这种结构,其中这些联赛包含球队和球员的集合?

感谢刚开始使用 mongodb 的帮助。

【问题讨论】:

在这种情况下,我认为使用多个集合而不是嵌入文档会更容易。您可以收集联赛、球员和球队的收藏。每个联赛都由一组球员 ID 引用和一组球队 ID 引用组成。每个玩家都将包含自己的一组属性,对于团队也是如此。然后,您可以将 leagues 更改为联赛 ID 引用数组。因为即使您确实实现了它的工作,查询或更新也会让人头疼。这是good read 【参考方案1】:

您可以简单地拥有两个具有一对多关系的不同集合

将玩家嵌入团队中。

这取决于你如何适合你。在决定结构之前考虑您的查询并评估您的索引

【讨论】:

以上是关于如何在 mongodb 中创建这种命名对象的结构?的主要内容,如果未能解决你的问题,请参考以下文章

无法在多文档事务中创建命名空间(MongoDB 4.0、Spring Data 2.1.0、Spring Boot)

mongodb收件箱结构多地址

解析服务器在 mongodb 中创建相同的 objectid

在同一集合中创建对象的 mongodb 模式数组或创建新集合的更好方法保存引用

如何防止在 ADAM 中创建重复对象?

如何在 MongoDB 中创建嵌套索引?