为了账号安全,请及时绑定邮箱和手机立即绑定

创建查询快照以侦听实时更改

创建查询快照以侦听实时更改

我创建了一个使用 if 条件从 Firestore 获取数据的函数。我已经用.get()方法实现了,但它并没有实时更新,我的意思是如果服务器中更新了任何记录,它不会在这里反映。这是我的功能   async getMyPosts() {    this.query = firebase.firestore().collection('complaints')    if (this.complaint_status_filter_active==true) {  // you decide      this.query = this.query      .where('complaint_status', '==', this.complaint_status_filter_value)      .limit(5)    }    const questions = await this.query.get()      .then(snapshot => {        snapshot.forEach(doc => {          console.log(doc.data())        })      })      .catch(catchError)  }应该使用什么而不是get()实时更新编辑 1在下面的示例中,我可以使用 Angular Firestore 使用快照更改,但在这里我无法使用if条件如何在此处使用 if 子句添加 where 条件?代码:  this.firestore.collection('complaints' , ref => ref.where('complaint_status', '==', this.complaint_status_filter_value).limit(5).orderBy("complaint_date","desc") ).snapshotChanges().subscribe(response => {
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

使用onSnapshot()获取实时更新,如文档中所示。


this.query.onSnapshot(doc => {

    // ...

})


查看完整回答
反对 回复 2022-10-21
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信