【发布时间】:2021-08-31 12:39:58
【问题描述】:
我正在制作一个用户可以按日期过滤任务的页面,在我的文档中,我有一些任务的时间是时间戳上的 00:00:00,在我的变量中我设置了这样的时间,但它不是t 返回这些文件,这是我目前的代码:
date1 = new Date(), date2 = new Date();
date1.setHours(0, 0, 0), date2.setHours(23, 59, 59);
这是我的疑问:
this.db.collection<any>(`tasks`, ref => ref.orderBy('date', 'asc').where('date', '>=', date1).where('date', '<=', date2)).snapshotChanges().pipe(take(1), map(results => {
return results.map(r => {
const data = r.payload.doc.data();
const id = r.payload.doc.id;
return { data, id };
});
}
【问题讨论】:
-
1) 您能否编辑您的问题以显示 Firebase 控制台的屏幕截图,其中包含您希望在此查询中返回的
tasks集合中的文档? 2) 我建议只使用 JavaScript SDK 来重现问题,所以不要使用 AngularFire,因为它更有可能让人们提供帮助。 -
我今天想通了,我只是在我的 date1 setHours 上再添加一个 0,date1.setHours(0, 0, 0, 0),现在返回我需要的所有文件。感谢您的评论。
-
很高兴听到您成功了 Gustavo! ????。您可能希望将该解决方案写成一个带有解释的小答案,以便未来的访问者也可以从中受益。
标签: javascript google-cloud-firestore angularfire2