我有一个对象,它有一个属性,其值是 id 列表。
const obj = { list: ['id-1', 'id-2', 'id-3'] };
目前,这就是我所能做的。但它返回一个可观察量数组。
// Class variable...
records: Observable<Record>[];
constructor(private afDB: AngularFireDatabase) {}
getRecords () {
this.records = obj.list.map(id => this.afDB.object(`path/to/collection/${id}`));
}
与数组的Observable
不同,将this.records
作为Observable
数组的数组似乎不是在模板中使用的最佳选择。
我宁愿records: Observable<Record[]>
也不愿records: Observable<Record>[]
.
无论如何,可以将这些id作为查询函数的一部分传递给angularfire数据库吗?
你可以做这样的事情:
afDB.collection('yourCollection', ref => ref.where('id', '==', 'yourId'));
在 https://github.com/angular/angularfire2/blob/master/docs/firestore/querying-collections.md 上找到这个