首页 > 解决方案 > 如何使用 where 从 AngularFirestore 返回数据

问题描述

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

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

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

客户端:

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

粗加工服务:

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 中时,我得到类型上不存在属性“映射”。

谢谢

标签: ionic4angularfire2

解决方案


Ranika Nisal 在评论中回答了我的问题:

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


推荐阅读