首页 > 解决方案 > 如何从 angularfire2 cloud firestore 获取新创建的自动生成的 ID

问题描述

我正在尝试在新创建后从 firestore 获取自动生成的 ID,但我不知道为什么当我这样做时console.log(ref)undefined请查看我的代码:

import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';

@Injectable()
export class UserProvider {

  usersCollectionRef: AngularFirestoreCollection<any>;

  constructor(public http: HttpClient, public firestore: AngularFirestore) {
    this.usersCollectionRef = this.firestore.collection<any>('users');
  }

  addUpdateContact(name: string, email: string) {
    const newId = this.firestore.createId();
    this.usersCollectionRef.doc(newId).set({ username: name, email: email }).then(ref => {
      console.log(ref);
    });
  }
}

它设法成功地将数据插入到firestore中

我正在使用ionic 35.4.2angularfire2

我已经尝试过这个线程的解决方案,但它不起作用......请帮助我,谢谢

标签: ionic3angularfire2

解决方案


对于将来需要解决方案的任何人,我已经解决了它:

将代码更改addUpdateContact为:

this.usersCollectionRef.add({ username: name, email: email }).then(ref => {
      console.log(ref.id);
    });

感谢@nikoswsn 给了我一个谷歌的想法,这部分1. Saving Data与我修改的代码大致相同


推荐阅读