【发布时间】:2017-08-25 21:06:12
【问题描述】:
我正在尝试根据一些标签从 firebase 查询中过滤数据
我的数据结构是这样的
-
项目:
- 项目ID:
- 标签:
- label1:真
- label2:真
- 标签:
this.filteredProjects$ = af.database.list(path, { 询问: { orderByChild: '标签', 等于:this.filter$ } });
filterProjects(filter: string): void { this.filter$.next(!filter ? null : {value: true, key: filter}); }
- 项目ID:
我尝试使用这个 firebase 功能: 当按子级、值或优先级排序时,Firebase SDK 支持 startAt、endAt 和 equalTo 的可选键参数。您可以使用包含值和键的对象文字来指定键参数。例如:startAt: { value: 'some-value', key: 'some-key' }。
但我收到此错误:ERROR 错误:查询:传递给 startAt()、endAt() 或 equalTo() 的第一个参数不能是对象。
【问题讨论】:
-
在您的数据库中,
labels一个对象。指定orderByChild时不能使用它,因为它不是原始值。 -
那么我应该怎么做才能根据一个或多个标签查询这些项目?
标签: typescript firebase-realtime-database angularfire2