我想在城市集合中获取社团集合的文档ID,但是我的代码在城市集合的SocietyId字段中返回了另一个ID。
myId: string = "";
private docRef: firebase.firestore.DocumentReference;
this.docRef = firebase.firestore().collection("societies").doc();
this.myId = this.docRef.id;
this.cityList = firebase.firestore().collection("cities").add({
cityName: this.city,
societyId: this.myId
}).then((doc) => {
console.log(doc);
}).catch((err) => {
console.log(err);
});
答案 0 :(得分:0)
您将获得另一个societyId
,它与仅通过调用doc()
函数生成的ID不同,因为您是使用CollectionReference的add()函数将对象添加到数据库的: / p>
使用指定的数据向此集合添加一个新文档,并自动为其分配一个文档ID。
代替使用DocumentReference的set()函数:
写入此DocumentReference引用的文档。如果该文档尚不存在,将创建它。如果传递选项,则可以将提供的数据合并到现有文档中。
根据您的评论,如果您要使用相同的ID,请更改以下代码行:
this.cityList = firebase.firestore().collection("cities").add(/* ... */);
到
this.cityList = firebase.firestore().collection("cities").doc(this.myId).set(/* ... */);