firebase - 在 setData() 之后刷新 DocumentSnapshot 而无需额外查询

标签 firebase flutter google-cloud-firestore

为了在 Firestore 文档中设置新数据,我通常使用 setData()merge: true。这在数据保存方面工作正常并且符合预期:

await userDoc.reference.setData({
    'favourite_color': 'blue',
    'favourite_team': 'fcporto',
  },merge: true);

我唯一的问题是 DocumentSnapshot(本例中的 userDoc)在 setData 完成后不会自动“刷新”,这迫使我对文档进行额外的查询。

有什么方法可以在 setData() 之后自动更新 DocumentSnapshot 吗? (同样的行为发生在 updateData())

最佳答案

不,DocumentSnapshot 对象是不可变的 - 无法更改。您将不得不进行另一个查询,或者等待来自监听器的另一个实时更新。

关于firebase - 在 setData() 之后刷新 DocumentSnapshot 而无需额外查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63249549/

相关文章:

java - 为什么我需要让用户订阅 Firebase 中的主题?

java - 在 onDataChange 方法中从登录 Activity 移动到下一个 Activity 时应用程序崩溃

flutter - 如何在 flutter 中获取设备ID

dart - Flutter 在页面中获取导航器参数

firebase - 在 .onWrite firebase 云函数中访问 doc.id

ios - 如何在单元格中按下按钮时将数据从一个 Tableview 传递到另一个 Tableview?

android - Firebase 直接子项与嵌套子项更改事件

dart - 如何在build方法之外的State类中访问有状态的小部件变量?

ios - 如何仅在设置数据后调用完成处理程序?

variables - 在服务 worker (Firebase) 中设置变量 messagingSenderId