Typescript 如何使用AngularFire查询Firebase时间戳字段?

Typescript 如何使用AngularFire查询Firebase时间戳字段?,typescript,firebase,angularfire,Typescript,Firebase,Angularfire,我正在尝试检索日期字段(类型时间戳)小于当前系统时间的所有文档。 我的typescript文件中的AngularFirestore查询如下所示 this.afs.collection<events>('events' , ref => ref.where('date' , '<' , Date.now())).snapshotChanges(); this.afs.collection('events',ref=>ref.where('date',')刚刚在我的应用程序

我正在尝试检索日期字段(类型时间戳)小于当前系统时间的所有文档。 我的typescript文件中的AngularFirestore查询如下所示

this.afs.collection<events>('events' , ref => ref.where('date' , '<' , Date.now())).snapshotChanges();

this.afs.collection('events',ref=>ref.where('date',')刚刚在我的应用程序上测试过,我猜您的数据库中有date(),因此您应该将该字段与日期对象进行比较:


this.afs.collection('events',ref=>ref.where('date','how to retrieve data using serverTimestamp(),因为我得到这个错误
Function Query.where()调用了无效的数据。FieldValue.serverTimestamp()只能与update()和set()一起使用
好的,看来我错了,我更新了答案以更好地解释这一点,还添加了一个新的可能性:
firebase.firestore.Timestamp.now()
您能解释一下如何使用可调用云函数实现这一点吗?我不想依赖于用户设备时钟,因为用户可能会伪造/欺骗时间。可调用函数基本上是用一层身份验证取代了对服务器API的需要。以下文档将帮助您设置此功能:在可调用的内部函数,您可以使用基本相同的请求,不同的是new Date()将是服务器的日期。请注意Firebase函数是付费服务,所以在开始此方向()之前请检查此项。是的,我在安全规则中维护了该规则。