我在项目中使用AngularFire&Cloud Firestore,并且需要对集合的多个条件(在何处)进行查询。
我尝试使用此代码,但它忽略了第二个条件。
this.itemCollection = this.afs.collection<Item>('items', ref => {
return ref
.where('size', '==', 'large')
.where('brand', '==', 'some-brand')
})
this.items = this.itemCollection.valueChanges();
我在做错什么,如何在AngularFire中应用多个条件?
答案 0 :(得分:0)
使用多个where
子句在不同字段上的查询无效 [1] [2]。
这不是真的=>当查询类型相同时,firebase支持多个where
查询,例如“ ==” &&“ ==”。 3仅在您混合使用“ ==“ &&” =>“之类的类型时,firebase会拒绝它。
但是,请在关于response的另一个问题上检查此Query based on multiple where clauses in Firebase。
答案 1 :(得分:0)
您的代码必须为:
this.itemCollection = this.afs.collection<Item>('items', ref => ref.where('size', '==',
'large').where('brand', '==', 'some-brand'))
return this.items = this.itemCollection.valueChanges();