Angular 6-AnguarFire-使用多个文档字段查询集合

时间:2018-11-27 11:09:45

标签: angular firebase google-cloud-firestore angularfire2

我在项目中使用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中应用多个条件?

2 个答案:

答案 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();