使用Firebase事务块Swift

时间:2017-10-06 03:23:59

标签: swift firebase firebase-realtime-database transactions

在我的firebase数据库中,我存储了一个值

"1,2,6,1"

在iphone上我想读取该文本然后+1其中一个数字,例如我想以

开头
"1,2,6,1" --> and write "1,3,6,1" to the server.

阅读和写作非常简单,但是有10个人可以在同一时间编辑这个,我需要确保没有人添加“+1”得到错过。

如果我使用单个事件监听器来获取字符串,我如何使用事务块来备份附加数据?

databaseRef.child("games").child("\(currentGameID!)").child("answers").child(currentTeamID!).observeSingleEvent(of: .value, with: { (snapshot) in

        let teamScoreStringValue = snapshot.value as? String // "1,2,6,1"

        How to I write up "1,3,6,1"?

})

1 个答案:

答案 0 :(得分:0)

您需要为此使用Firebase数据库事务。有关详细信息和示例,我建议您阅读Firebase documentation

我还建议考虑您当前的数据模型是否与您的用例最匹配。如果您的用户应该能够修改字符串中的单个值,那么将单个值存储在数据库中会更有意义。