我的项目在 Ionic3、Angular2 和 Firestore 中。
由于 Firestore 成本取决于读取次数,因此我有以下担忧。
我有以下用户结构。
User(collection)
->User ID(Doc) -> Name:
-> Photo URL:
-> Friend (collection)
->Friend ID (Doc) -> statue: Active
->Friend ID (Doc) -> statue: Inactive
->User ID(Doc) -> ...
按照这个结构,如果我想显示我的 friend 列表......
Friend
收集所有活跃的 friend 。 (这是一读)Name
和 Photo URL
. 所以如果一个用户有 200 个 friend 。仅显示数据就要花费我 200 次读取。
有没有更好的办法?
最佳答案
一个解决方案是使用 database denormalization :您在 friend 文档中复制了您需要的信息(例如姓名和照片 URL)。这样,在读取时,您将拥有用于显示所需内容的所有数据。当然,有一个权衡。在 friend 更新时,您必须更新所有相关文档或使用过时的信息。但是,您的用例似乎读取多于写入。因此,应用非规范化应该不是什么大问题。
关于ionic-framework - 在 Firestore 中以较少的读取获取好友列表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47040243/