【问题标题】:Firebase: Flutter App: Best methods for concurrent user updates to single document. Many users updating one document at the same timeFirebase:Flutter App:并发用户更新单个文档的最佳方法。许多用户同时更新一个文档
【发布时间】:2020-07-21 07:42:20
【问题描述】:

简单的投票应用:

  • 用户发帖
  • 用户对帖子供稿进行投票
  • 每个应用实例将投票结果发送到 Firebase 以更新发布文档。
  1. 示例路径:“/posts/[postId]”
  2. 投票字段:地图

目前:在 Firebase 上,我有一个代表每个帖子的文档。该文档包含发布数据和投票结果的地图字段。当投票发生时,该用户应用实例使用 .updateData() 更新 firebase 文档。

我现在只有大约 25 个用户,并且用户之间没有发生 updateData 冲突。我一直在互联网上寻找最佳实践来实现并发文档更改,但没有运气。有人对最佳实践有任何建议吗?甚至是一些用于搜索的关键字/用于学习的资源? Firebase 网站上列出的限制和最佳做法没有帮助。

干杯!

【问题讨论】:

    标签: firebase flutter


    【解决方案1】:

    只有一种方法可以安全地处理对文档中同一字段的并发写入,那就是transaction

    【讨论】:

    • ? 太棒了!这就是我正在寻找的术语 :D 。感谢您提供所有史诗般的教程视频,帮了大忙。
    • 如果该字段是地图怎么办?每个用户都使用他们的唯一 ID 作为密钥?这行得通吗:.update({'votes.${userID}': true})
    猜你喜欢
    • 2019-05-01
    • 2017-07-03
    • 1970-01-01
    • 2013-06-16
    • 2016-05-08
    • 2020-11-19
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多