如何在 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 中创建相同的 objectid