简体   繁体   English

无效的文档参考。 文档引用必须有偶数个段,但喜欢有 1 个

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

What's an issue in my Query?我的查询有什么问题?

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)
    }
    }

It has a value to addDocument .它有一个addDocument值。 value is not nil.值不为零。

I encountered this error for the first time.我第一次遇到这个错误。 what is the reason?是什么原因?

There was an error because there was not a value for let itemId = selectedItem.objectID .出现错误,因为let itemId = selectedItem.objectID没有值。

Therefore, when I set it directly in if without declaring a constant, the error disappeared.因此,当我直接在 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.

相关问题 无效的文档参考。 文档引用必须有偶数个段,但用户有 1' - Invalid document reference. Document references must have an even number of segments, but Users has 1' '无效的文档参考。 尝试编辑/删除新条目时,文档引用必须具有偶数段 - 'Invalid document reference. Document references must have an even number of segments' when trying to edit/delete new entry Swift - Firestore 文档引用必须具有偶数个段,但 - Swift - Firestore Document references must have an even number of segments, but App Store Connect 警告 - 文档配置无效 - App Store Connect Warns - Invalid Document Configuration UIButton类参考文档上的addTarget方法 - addTarget method on UIButton Class reference document 如何初始化 Firestore 文档参考 Swift - How to Initialize Firestore Document Reference Swift 如何从 Firestore 获取对文档数组的引用 - How to Get Reference to Document Array from Firestore 文档目录是否有Xcode构建设置参考? - Is there a Xcode build setting reference for document directory? Flutter Firestore QuerySnapshot 没有 getter 'document 的实例 - Flutter Firestore QuerySnapshot has no instance of getter 'document 下载的图像在文档目录中的字节数为零 - Downloaded images has zero bytes in document directory
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM