ionic4 - 如何使用 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 中时,我得到类型上不存在属性“映射”。
谢谢
解决方案
Ranika Nisal 在评论中回答了我的问题:
snapshotChanges()
返回一个Observable
。但是await
关键字需要一个承诺。我相信这是导致问题的原因
推荐阅读
- google-tag-manager - 为漂移聊天点击创建 GTM 触发器/Linkedin 像素标签
- python - 为什么多类机器学习模型会给出糟糕的结果?
- java - 根据另一个列表中的属性从列表中提取不常见的元素
- python - 如何使用可观察的 RxPY 间隔定期调用异步协程?
- json - 我可以像在配置中为 sublime 做文件夹一样排除文件吗?
- c# - Monogame 程序不断随机丢弃大量帧
- java - 如何使用 HtmlUnit 驱动程序验证代理?
- mysql - 使用子查询时的 MySQL 分组
- r - “找不到对象'mtcars1'”:olsrr 函数中的错误
- datetime - Flutter DateTime , 打开关闭 if