我正在使用flutter
和Firebase
开发一个游戏保护程序来存储数据。
实际上我的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文档将每次具有更多字段。 我的问题是,文档可以包含的字段数量是否有限制。我也想节省很多游戏,这是实现数据库的正确方法吗?
答案 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。