是否可以获取Firebase Cloud Firestore数据库中可用的集合的文档ID?

时间:2018-11-14 07:13:15

标签: javascript firebase google-cloud-firestore

enter image description here

我想在城市集合中获取社团集合的文档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);
});

1 个答案:

答案 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(/* ... */);