如何从 angularfire2 云火存储获取新创建的自动生成的 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);
});
}
}

不过,它设法成功地将数据插入火库

我正在使用ionic 3angularfire25.4.2

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

使用 .set(( 方法,您必须指定文档 ID,这意味着您已经拥有了 ID。请澄清您期待实现的目标。

请在此处检查 .set(( 方法的返回对象

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

addUpdateContact代码更改为:

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

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

最新更新