【问题标题】:How to return data from AngularFirestore using where如何使用 where 从 AngularFirestore 返回数据
【发布时间】:2023-12-22 11:07:01
【问题描述】:

我正在尝试使用 AngularFire2 创建一个 Ionic 4 移动应用程序。我可以毫无问题地验证、插入、删除、更新文档。但是,使用“ref.where”时,我似乎无法返回从 Firebase 订阅的任何数据。

我想获取与我的搜索查询匹配的文档数据。

我尝试了网上找到的各种指南。

客户端:

async test() {
  await this.crudService.check_organization_membership(this.userId).subscribe(data => {
  console.log(data);
})
}

Crud 服务:

import { AngularFirestore } from '@angular/fire/firestore';
check_organization_membership(userId) {
return this.firestore.collection('organizations', ref => ref.where('org_members', '==', userId)).snapshotChanges();
}

当从 firestore 读取内容时,我可以订阅数据并执行“data.map(e =>”并返回数据没问题。

在 SnapshotChange() 之后尝试将其映射到 crudService 中时,我得到属性“映射”不存在于类型上。

谢谢

【问题讨论】:

  • snapshotChanges() 返回一个 Observable。但是 await 关键字需要一个承诺。我相信这是导致问题的原因

标签: ionic4 angularfire2


【解决方案1】:

Ranika Nisal 在the comment 中回答了我的问题:

snapshotChanges() 返回一个Observable。但是await 关键字需要一个承诺。我相信这是导致问题的原因

【讨论】: