【发布时间】:2017-08-03 16:52:22
【问题描述】:
在 Firebase 中存储 10,000 多个字符串的最佳做法是什么?
long_lists/
<user1>/
string1
string2
...
string15000
<user2>/
string1
string2
...
string15000
根据The Firebase Blog – Best Practices: Arrays in Firebase,数组是一个很大的禁忌。
现在,看起来使用push() 方法为每个项目(key1:string1,key2:string2,...)生成唯一的键是最有意义的:
firebase.database().ref('long_lists/<uid>').push().key
我理解这个问题看似主观的性质,但我猜实际上只有一两种方法可以以高性能的方式为用户存储长的单级列表。 em>
【问题讨论】:
-
存储数据几乎不是问题。这是您想要访问数据的方式,其中结构变得更加重要,并且可能成为可伸缩性的限制。请参阅我的回答 stackoverflow.com/questions/39712833/… 了解更多信息
-
@FrankvanPuffelen 好点,弗兰克——你链接到的 SO 问题很有帮助。就我而言,没有我需要访问的“最近”项目。我的应用程序经常检查 10,000 多个字符串的有效性,并可能删除它们。你觉得 {uniqueKey: string1, uniqueKey2: string2, ..} 结构适合这个吗? (也请参阅我对 Michal 回答的评论)
标签: firebase firebase-realtime-database angularfire