如何从Firestore中使用where(),startAt()和endAt()来获取值

时间:2019-06-14 09:44:30

标签: javascript google-cloud-firestore angularfire2

我正在使用anguarfire2,我只需要从Firestore提取值,这些值来自特定类型的客户和按职位排序

我尝试了以下操作,但没有给我任何结果

angularFirestore.collection('customers', ref => ref.where('type', '==', type)
            .orderBy('position')
            .startAt(1)
            .endAt(2))

但是

   angularFirestore.collection('customers', ref => ref.orderBy('position')
            .startAt(1)
            .endAt(2) )

有效。无论客户类型如何,它都能为我提供结果。

是否可以通过where,orderBy,startAt和endAt的组合来获取值?

1 个答案:

答案 0 :(得分:0)

您无需按照enter link description here

中的文档进行分页查询

您也可以参考下面的代码来实现相同的目的:

let first = db.collection('cities')
           .orderBy('population')
           .limit(3);

let paginate = first.get()
.then((snapshot) => {
// ...

// Get the last document
let last = snapshot.docs[snapshot.docs.length - 1];

// Construct a new query starting at this document.
// Note: this will not have the desired effect if multiple
// cities have the exact same population value.
let next = db.collection('cities')
  .orderBy('population')
  .startAfter(last.data().population)
  .limit(3);

// Use the query for pagination
// ...

});