我想使用Firestore中的引用字段,以便可以在我的应用程序中引用其他documentID。
listProducts(did) {
console.log(did);
return this.firedb.collection('/products', ref =>
ref.where('DistributorId', '==', 'distributors/' + did)).snapshotChanges()
.pipe(map(actions => actions.map(a => {
const data = a.payload.doc.data();
return { ...data };
})));
}
我可以将where与其他数据类型(例如字符串)一起使用,但不能将引用数据类型与 where 一起使用。
已解决的代码:
const distributorsRef = this.firedb.collection('distributors').doc(did).ref;
return this.firedb.collection('/products', ref =>
ref.where('DistributorId', '==', distributorsRef)).snapshotChanges()
.pipe(map(actions => actions.map(a => {
const data = a.payload.doc.data();
return { ...data };
})));
我接受分销商的ID。