使用endAt查询的angularfire2集合不会给出结果

时间:2018-07-01 16:45:19

标签: firebase google-cloud-firestore angularfire2

我正在尝试使用startAt()和endAt()方法查询Firebase的日期范围。(Angular6) 对于日期选择,我使用角度材料MatDatepicker模块。

q_startDate; q_endDate;
getStartDate(event: MatDatepickerInputEvent<Date>) {
this.q_startDate = event.value.toISOString();}

我定义了 q_startDate q_endDate 实数,并使用 getStartDate getEndDate 方法推送了数据。

const myCollection = this.afs.collection<objInterface>('collection_name', ref=> {
let query: firestore.CollectionReference | firestore.Query = ref;
query = query.orderBy('date_field', 'desc');
query = query.startAt(this.q_startDate);
query = query.endAt(this.q_endDate);
return query;
});

在此查询中,当我评论 query = query.endAt(this.q_endDate); 时,它起作用。 如何解决此问题,我还想同时包含查询q_endDate?
FIX
我通过将多余的日期另存为秒来解决它。

//Add extra field as q_date
const tsSeconds: number = firestore.Timestamp.now().seconds;
{q_date:tsSeconds}
//Now we can query like this:
this.afs.collection('collection_name, ref=>
ref.where('q_date','>=',start_date).
where('q_date','<=',end_date))

0 个答案:

没有答案