将documentId作为字段存储在文档

时间:2019-09-02 20:15:29

标签: javascript firebase google-cloud-firestore

我想将在集合中创建的documentId存储为同一文档中的docid作为字段/属性。我正在使用Cloud Firestore。

它显示错误“ ReferenceError:未定义doc”  每当我尝试存储doc.id

db.collection("Colleges").doc(user.uid).collection('Internships').doc().set({

          CompanyName :this.I_company,
            InternshipTitle : this.I_title,

            duration: this.duration,
            amount:this.I_amount,
            week:this.week,
            docid: doc.id
})

1 个答案:

答案 0 :(得分:1)

实际上,对doc()CollectionReference方法的调用如果没有任何路径,将返回带有“自动生成的唯一ID”的DocumentReference

但是您必须执行以下操作:首先获取新的DocumentReference,然后在此DocumentReference上使用set()方法。

var docRef = db.collection("Colleges").doc(user.uid).collection('Internships').doc();

docRef.set({

          CompanyName :this.I_company,
            InternshipTitle : this.I_title,

            duration: this.duration,
            amount:this.I_amount,
            week:this.week,
            docid: docRef.id
})

但是,您可能会再次检查是否确实需要在文档的特定字段中写入docRef.id,因为无论如何您都可以稍后使用id属性来获取它。