Firestore ArrayUnion添加重复项

时间:2019-03-03 08:39:39

标签: firebase google-cloud-firestore react-native-firebase

我正在使用Firestore将消息数组存储在聊天应用程序中。对于每条发送的消息,我都使用“ arrayUnion”更新消息数组。更新时,有时会添加两个项目(到客户端数据库中,并很快被服务器覆盖)

来自the docs:“ arrayUnion()将元素添加到数组,但仅不存在的元素”。但是,我的情况是,我的客户端Firebase数据库实例将添加重复的数据,然后服务器将在成功写入和重复删除后对其进行纠正。

  db.update({
    messages: firebase.firestore.FieldValue.arrayUnion(serverMessage)
  })

大约1秒钟,我在数组中有重复项。我不确定为什么要复制我的数据(我已经确认客户端上只有一个侦听器)---但我也不明白为什么客户端Firebase数据库实例允许重复写入。这是我看到的错误中的visual

0 个答案:

没有答案