我不断收到错误消息:错误:提供给Query.startAt()的参数过多。使用AngularFire2时

时间:2019-01-01 12:35:12

标签: angular firebase angularfire2

我有一个简单的函数,可以接受参数并返回数据集

search(searchValues , numOfItems, startKey?) {
    return this.db.collection('gppContract', ref => ref
    .where('financialYear', '==', searchValues.financialYear)
    .startAt(startKey)
    .orderBy('amount', 'desc')
    .limit(numOfItems + 1))
      .valueChanges();


  }

我在做什么错还是想念?在这里茫然。

1 个答案:

答案 0 :(得分:1)

首先,orderBy()必须在startAt()之前,才能知道结果应该在哪个节点上。

第二,orderBy()仅接受一个参数,并且应与文档中的where()相同:

  

范围过滤器和orderBy应该在相同的字段上:

     

citiesRef.where("population", ">", 100000).orderBy("population")

检查:

https://github.com/angular/angularfire2/blob/master/docs/firestore/querying-collections.md