将ID保存到Firestore文档

Dan*_*ani 2 firebase ionic3 angular google-cloud-firestore

我也想将文档的ID另存为一个属性,而不仅仅是作为集合的引用。目前,我这样保存它:

const newSet: AngularFirestoreDocument<SetModel> = this.AngularFirestore.doc('users/' + this.navParams.data.userId);

    // adding user to our ddbb
    newSet.collection('sets').add(this.set)
      .then(function (docRef) {
        // ok
      })
      .catch(function (error) {
        // error
      });
Run Code Online (Sandbox Code Playgroud)

那可能吗?还是我需要保存它,获取ID并再次更新?

PS这是我的ddbb结构: 在此处输入图片说明

在此处输入图片说明

Fra*_*len 6

通过快速扫描参考文档,CollectionReference.add(...)我看到add(...)返回了一个承诺。在创建文档之前,似乎无法获取自动生成的 ID。

但请记住,文档 ID 只是在统计上保证唯一的客户端密钥。

代码显示了 JavaScript SDK 为生成 ID 所做的工作,这归结为调用AutoId.newId(). 您也可以在您自己的代码中调用(或在它未公开导出的情况下包含)它,然后使用doc(myId)代替add().


Eli*_*pes 6

1-创建一个const ID。2-在对象中设置ID。3-保存

  createEvent(set){
    const id = this.firestore.createId();
    set.id = id;
    return this.firestore.doc(`users/${id}`).set(ev);
  }
Run Code Online (Sandbox Code Playgroud)