我一直试图弄清楚这一点,并检查了Firebase文档以及各种教程,但是无法使查询正常工作。 firestoreSave()函数可以正常工作(我在firebase上看到了整数的更新列表)。
async firestoreSave(): Promise<firebase.firestore.DocumentReference>{
const user: firebase.User = await this.authService.getUser();
let eventListRef = firebase.firestore().collection(`${user.uid}`).doc('sites');
return this.eventListRef.set({sites: this.visits});
}
但是,以下功能不起作用:
async firestorePull(): Promise<firebase.firestore.DocumentReference>{
const user: firebase.User = await this.authService.getUser();
let eventListRef = firebase.firestore().collection(`${user.uid}`).doc('sites');
return this.eventListRef.get();
}
我的最大努力:对于控制台日志,eventListRef.get()返回undefined,根据文档,这意味着该引用未正确链接到Firestore数据库。我相信我的错误在于eventListRef的定义以及与Firebase的链接。我相信,一旦链接正确,我应该能够调用.get(),然后从那里调用promise,以最终收到我的整数列表。
我不确定集合实际上是如何工作的,但由于要使用this
定义变量,因此您不想使用let
。 eventListRef.get();
而不是this.eventListRef.get();
已在您的代码中固定:
async firestoreSave(): Promise<firebase.firestore.DocumentReference>{
const user: firebase.User = await this.authService.getUser();
let eventListRef = firebase.firestore().collection(`${user.uid}`).doc('sites');
return eventListRef.set({sites: this.visits});
}
async firestorePull(): Promise<firebase.firestore.DocumentReference>{
const user: firebase.User = await this.authService.getUser();
let eventListRef = firebase.firestore().collection(`${user.uid}`).doc('sites');
return eventListRef.get();
}
现在将不再是未定义的。
此外,请注意,您可以在此处使用const
代替let
const eventListRef = firebase.firestore().collection(`${user.uid}`).doc('sites');