Firestore数据库数据丢失问题(调用方无权执行指定操作)

Firestore database data lost problem(The caller does not have permission to execute the specified operation)

提问人:gurkan stack 提问时间:11/17/2023 最后编辑:Frank van Puffelengurkan stack 更新时间:11/17/2023 访问量:23

问:

在过去的 12 小时内,我在 Firestore 数据库中丢失了一些数据。你遇到过这样的情况吗?你觉得怎么样?

2天前,Firebase服务器出现了一些问题。

在 flutter firebase 中,我收到错误:[cloud_firestore/permission-denied] 调用方无权执行指定操作

可能与这个问题有关吗?你觉得怎么样?如何携带我的 12 小时数据?

Firebase 谷歌云 Firestore

评论

1赞 Frank van Puffelen 11/17/2023
虽然在 11 月 15 日的中断期间,移动/网络用户无法使用某个位置的 Firebase 数据库,但在此期间没有丢失任何数据。如果没有对实际发生的事情的具体描述,就不可能对你的具体问题说更多。
0赞 gurkan stack 11/18/2023
我在我的应用程序中使用计数器(在收集字段中),每次点击按钮都会增加。有趣的是,它在过去 12 小时内有所减少。不可能减少,我总是在增加。然后我认为这可能与firebase服务器有关,因为很难用其他原因来解释。
0赞 gurkan stack 11/18/2023
事实上,我没有丢失一个收集字段数据,但我丢失了用户事务,我的计数器是 225,它减少到 217,有趣的是......
0赞 gurkan stack 11/18/2023
我正在使用 reference.update 方法来更新我的数据。
1赞 Frank van Puffelen 11/18/2023
Firestore 是一个立即一致的数据库。在服务器上执行写入操作后,所有客户端都可以看到该写入操作,并且不会回滚。我们需要查看所涉及的所有部分,并查看合理的复制品以进一步调查/推测。如果你想这样做,我建议你用必要的默认值更新你的问题(它下面有一个小链接)。edit

答:

0赞 gurkan stack 11/29/2023 #1

我没有使用 .当多个用户同时更新相同的值时,我遇到了这个问题。似乎我丢失了数据,但没有,我只是错误地实现了我的代码。Firebase Transactions

对于Firebase中的计数器,我们应该使用来防止此类问题。Firebase Transactions

我认为使用将解决我的问题。Firebase Transactions

解决方案:https://firebase.google.com/docs/firestore/manage-data/transactions?hl=en