Firebase中文档的属性数量最大吗?

时间:2019-07-11 11:07:36

标签: firebase flutter dart google-cloud-firestore

我正在使用flutterFirebase开发一个游戏保护程序来存储数据。

实际上我的Firebase数据库看起来像这样:

games:{<br>
   // Team 1<br>
   player1: (reference to a player),<br>
   player2: (reference to a player)',<br>
   // Team 2<br>
   player3: (reference to a player),<br>
   player4: (reference to a player),<br>
   scoreTeam1: 2,<br>
   scoreTeam2: 1<br>
}<br>

// Usergames documents are indexed by the player unique ID as a key<br>
userGames: {<br>
   count: 2,  //this variable is increased every time i add a new game<br>
   game1: (reference to a game),<br>
   game2: (reference to another game),<br>
   ...<br>
   gameN: (another reference)<br>
}<br>

Player:{<br>
   name: 'player name'<br>
   ...(another player data)<br>
}<br>

通过此实现,userGame文档将每次具有更多字段。 我的问题是,文档可以包含的字段数量是否有限制。我也想节省很多游戏,这是实现数据库的正确方法吗?

2 个答案:

答案 0 :(得分:0)

Firebase使用限制可在此处找到:

https://cloud.google.com/firestore/quotas#collections_documents_and_fields

在该页面上,字段数没有限制。但是,单个文档的最大大小为1MiB。

我会考虑使用子集合来存储游戏结果,而不是在文档中添加越来越多的字段。

答案 1 :(得分:0)

您可以看到Firebase对此设置了限制:https://firebase.google.com/docs/database/usage/limits?authuser=0

关于数据库结构,我建议您将常规结构分解为实体,然后存储它们;对于更复杂的对象,则存储对这些实体的引用(id)。

关于游戏数()-在读取分支时可以将它们获取为dataSnaphot.childrenCount。