【问题标题】:Limiting document fields and race conditions - Firebase Firestore Android限制文档字段和竞争条件 - Firebase Firestore Android
【发布时间】:2021-08-10 15:30:49
【问题描述】:
我现在正在使用适用于 Android 的 Firestore;记录一些数据并将其写入文档。我不想每次都创建文档,而是希望将文档限制为 10 个或一些 x 个字段。如果用户写入文档并且字段计数达到 x,则用户将在同一集合中创建新文档。
所以我的问题是:
创建新文档(由不同用户创建的多个文档)时如何避免竞争条件?使用这种方法将这种数据拆分到不同的文档是否可行?
【问题讨论】:
标签:
java
android
firebase
google-cloud-firestore
【解决方案1】:
创建新文档(不同用户创建多个文档)时如何避免竞争条件?
始终考虑使用Firestore transactions:
事务:事务是对一个或多个文档的一组读写操作。
这意味着,如果多个用户同时尝试在共享文档中添加/删除/更新数据,您将始终拥有一致的数据。并回答第二个问题:
用这种方法将这种数据拆分成不同的文档是否可行?
为什么是现在?只要您保持在1Mib / document 的最大限制以下,这是可行的。