簡體   English   中英

無效的文檔參考。 文檔引用必須有偶數個段,但喜歡有 1 個

[英]Invalid document reference. Document references must have an even number of segments, but likes has 1

我的查詢有什么問題?

let uid = Auth.auth().currentUser?.uid
let itemId = selectedItem.objectID
var isOn = false

func like(){
if isOn == true {
        likeRef.delete(){err in
            if let err = err{
                print("Error")
            }else{
                self.likeImageView.image = UIImage(named: "detail_like.png")
                self.isOn = false
                print("delete Success")
            }
        }
    }else if isOn == false {
        let like = Like(uid: uid!, itemId: itemId!, status: true)
        db.collection("likes").addDocument(data: like.dictionary()){ err in
            if let err = err {
                print("Error adding document: \(err)")
            } else {
                self.isOn = true
                self.likeImageView.image = UIImage(named: "like_after.png")
            }
        }
        print(isOn)
    }
    }

它有一個addDocument值。 值不為零。

我第一次遇到這個錯誤。 是什么原因?

出現錯誤,因為let itemId = selectedItem.objectID沒有值。

因此,當我直接在 if 中設置它而不聲明常量時,錯誤消失了。

if isOn == true {
    db.collection("likes").document(likeObjectID).delete(){err in
        if let err = err{
            print("Error")
        }else{
            self.likeImageView.image = UIImage(named: "detail_like.png")
            self.isOn = false
            print("delete Success")
        }
    }
}else if isOn == false {
    let like = Like(uid: uid!, itemId: itemId!, status: true)
    db.collection("likes").addDocument(data: like.dictionary()){ err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            self.isOn = true
            self.likeImageView.image = UIImage(named: "like_after.png")
        }
    }
    print(isOn)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM