Firestore写入顺序

时间:2018-04-04 08:43:44

标签: firebase google-cloud-functions google-cloud-firestore

我们一直在使用实时数据库来保存移动设备(ios,android + now web)中的一些数据。我之前询问过,其他客户端看到数据的顺序是否保证与客户端编写这些顺序的顺序相同。 (这里Does Firebase guarantee that data set using updateValues or setValue is available in the backend as one atomic unit?,标题有点误导,但答案就在那里)

答案是肯定的,现在我们正在迁移到Firestore,我想知道Firestore是否同样如此?

所以,如果我在客户端A中写入文档1,2和3,它是否保证客户端N将按照与客户端A编写的顺序相同的顺序观察写入(假设有一个合适的监听器)?

这是否也适用于云功能?我们将3个数据写入单独的文档,然后我们编写第四个文档作为触发函数进行某些处理的方法。因此,保证在触发该功能时,之前编写的3个文档可用吗?

请注意,4个文档不是在同一个事务或批处理中编写的,而是作为单独的document.create调用编写的。

1 个答案:

答案 0 :(得分:1)

如果在单个客户端内没有维护写入顺序,那将是灾难性的。在这样一系列写入之后,客户端不会对系统状态有一个强烈的内部理解,并且必须读回每个文档以验证所写的内容。

所以你可以期待维持订单。但是,如果您不使用事务,则无法保证来自多个客户端的文档写入顺序。