Firestore如何存储对文档的引用/如何检索它?

Sca*_*aux 5 firebase swift google-cloud-firestore

我是Firestore / Firebase的新手,我正在尝试创建一个新文档,其中一个字段是document reference另一个文档。我已经阅读了Firebase的所有指南和示例,但没有发现任何内容。

同样,当我检索创建的文档时,我将能够访问我添加在其中的引用中的内容。我不知道该怎么做。

这是我尝试创建部分的一些代码

    let db = Firestore.firestore()

    // Is this how you create a reference ??
    let userRef = db.collection("users").document(documentId)

    db.collection("publications").document().setData([
        "author": userRef,
        "content": self.uploadedImagesURLs
    ]) { err in
        if let err = err {
            print("Error writing document: \(err)")
        } else {
            print("Document successfully written!")
        }
    }
Run Code Online (Sandbox Code Playgroud)

小智 9

您只差一步。这也花了我一段时间才能弄清楚。

首先,存储一个变量DocumentReference!

var userRef: DocumentReference!
Run Code Online (Sandbox Code Playgroud)

然后,您想要创建一个指向文档ID的指针-从该<-您缺少的这一部分创建DocumentReference

if let documentRefString = db.collection("users").document(documentId) {
  self.userRef = db.document("users/\(documentRefString)")
}
Run Code Online (Sandbox Code Playgroud)

最后,恢复将数据保存到数据库

db.collection("publications").document().setData([
    "author": userRef,
    "content": self.uploadedImagesURLs
]) { err in
    if let err = err {
        print("Error writing document: \(err)")
    } else {
        print("Document successfully written!")
    }
}
Run Code Online (Sandbox Code Playgroud)

希望有帮助!