【问题标题】:SwiftUI Firebase - Add or Subtract Integers in FirebaseSwiftUI Firebase - 在 Firebase 中添加或减去整数
【发布时间】:2021-06-28 02:05:50
【问题描述】:

我正在尝试使用 Firebase 在 SwiftUI 中创建类似的功能。但是,我已经拥有的代码仅将 Firebase 中的数字设置为 1 或 -1,实际上并没有添加或减去该数字。我的目标是 addLike 将数字加 1,unLike 将数字减 1。

func addLike(id: String){
        ref.collection("Posts").document(id).updateData(["likes": +1]) { (err) in //sets DB to +1, figure out how to add
            if err != nil{
                print(err!.localizedDescription)
                return
            }
        }
    }
    
    func unLike(id: String){
        ref.collection("Posts").document(id).updateData(["likes": -1]) { (err) in //sets DB to -1, figure out how to add
            if err != nil{
                print(err!.localizedDescription)
                return
            }
        }
    }

抱歉,这是一个简单的解决方案。我已经尝试了所有方法 - 甚至是以前的帖子,但没有得到正确回答,因此我将这篇帖子改进为一个问题。

谢谢!

【问题讨论】:

    标签: ios swift firebase google-cloud-firestore


    【解决方案1】:

    您正在寻找的是 Firestore 拥有的 increment operator

    您可以使用它来增加/减少一个值,而不必使用这样的事务:

    ref.collection("Posts").document(id).updateData(["likes": FieldValue.increment(Int64(1))])
    
    ref.collection("Posts").document(id).updateData(["likes": FieldValue.increment(Int64(-1))])
    

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多