javascript - 如何在 firebase/angularfire 中正确查询列表?

标签 javascript angular firebase firebase-realtime-database angularfire2

我有这样的结构:

enter image description here

我找到了这个:https://github.com/angular/angularfire2/blob/master/docs/4-querying-lists.md我还阅读了 firebase 文档。

我试试这个:

return this.db.list(`${this.API_EVENTS_PATH}`, {
  query: {
    equalTo: {
      value: 'sharikov.vladislav@gmail.com',
      key: 'from'
    }
  }
});

这什么也没给出:空数组。为什么?

另一个问题是:如何按 2 个字段过滤项目?例如,我需要 from=sharikov.vladislav@gmail.com&status=ACCEPTED

如何使用 FB 做到这一点?

最佳答案

For your first question.

在使用 EqualTo 过滤器之前,首先应该有一个 OrderBy 过滤器...此 OrderBy 过滤器告诉查询 EqualTo 应引用哪个字段...因此您的查询应如下所示。

let path = this.API_EVENTS_PATH;
return db.list(path , {
  query: {
    orderByChild: 'from',
    equalTo: 'sharikov.vladislav@gmail.com',
  }
});

For your second question

如何按 2 个字段过滤项目

在像 firebase 这样的 Nosql 数据库中,通常只允许按 1 个字段进行过滤。考虑到您如何组织数据库,所有其他操作都已完成。查看这个 Firebase video它向您展示了如何在 firebase 数据库上执行正常的 SQL 查询。享受

关于javascript - 如何在 firebase/angularfire 中正确查询列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44989541/

相关文章:

javascript - 是什么导致 Javascript 在不同的机器上表现不同?

javascript - randomString 未在 HTMLInputElement.onclick Typescript 中定义

具有动态参数的 Angular Factory Provider

firebase - 如何将拨动开关按钮从 flutter 添加到 firebase firestore 数据库

sql - 为什么BigQuery会突然抛出数据格式错误

javascript - jQuery:在单独的线程中检索数据

javascript - 执行 `typeof JSON` 比较

javascript - 如何将测验的所有选项设置为事件 : false on click?

javascript - 测试链式 catchError 函数的正确方法是什么

firebase - 如何在 flutter 朔迷离的电子商务应用程序中添加购物车页面?