我有这样的结构:
我找到了这个: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/