Angular / Firestore - 获取由 'add' 方法创建的 ID 以在路由器导航中使用

Angular / Firestore - Fetching the ID created by the 'add' method to use in a router navigate

我在用什么

我想要实现的目标

问题

问题

组件 TS

如您所见,在我的路由器中,我放置了一个 'newId' 的占位符。这是我想作为刚刚由 'Add' 部分创建的项目的 ID 的部分。

  addTemplateProject() {

    var album_title = new Date();

    const newAlbum: any = { project_title }

    this.albumCollection.add(newAlbum);

    this.router.navigate(['folders', this.folderId, 'albums', newId, 'edit']);
  }

documentation 状态:

// Add a new document with a generated id.
db.collection("cities").add({
    name: "Tokyo",
    country: "Japan"
})
.then(function(docRef) {
    console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
    console.error("Error adding document: ", error);
});

您可以获取添加成功的参考。你的情况:

this.albumCollection.add(newAlbum).then(function(ref) {console.log(ref.id});