事务完成后执行读取会产生错误

时间:2019-03-05 23:47:56

标签: javascript firebase google-cloud-firestore

在对ref执行事务后,我试图读取更新的文档数据,但出现错误提示

  

Firestore事务要求在所有写入之前执行所有读取。

我有点困惑,因为在事务执行解决后,我正在运行get。谁能帮忙解释一下,或者为我指明获取更新的doc对象的方向吗?

以下是我尝试返回新值的方式:

return db.runTransaction(t => (
  t.get(meetingsRef).then(doc => (
    t.update(meetingsRef, { count: doc.data().count + 1})
  ))
)).then(t => t.get(meetingsRef).then(doc => doc.data()));

1 个答案:

答案 0 :(得分:0)

由事务返回的诺言在事务完成之后运行。此时,您将无法再在事务对象(您的t)上读写数据。

您可能正在寻找直接从meetingsRef中读取生成的文档的方法。