Firebase 获取firestore规则中的当前时间戳

Firebase 获取firestore规则中的当前时间戳,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我正在编写firestore规则函数,如果某个值介于0和1000之间或大于当前unix时间戳,则该函数必须返回true。根据,我正在尝试做以下工作: rules_version = '2'; service cloud.firestore { match /databases/{db}/documents { function check(i) { return i > 0 && (i < 1000 || i > (timestamp.e

我正在编写firestore规则函数,如果某个值介于0和1000之间或大于当前unix时间戳,则该函数必须返回true。根据,我正在尝试做以下工作:

rules_version = '2';
service cloud.firestore {
  match /databases/{db}/documents {
    function check(i) {
      return i > 0 && (i < 1000 || i > (timestamp.epochMillis));
    }
// ...
rules_version='2';
服务云.firestore{
匹配/databases/{db}/documents{
功能检查(一){
返回i>0&(i<1000|i>(timestamp.epochMillis));
}
// ...
但是,规则编辑器给了我一个错误:

时间戳是一个包,不能用作变量名


我认为您应该能够使用
request.time
如下(未经测试):

返回i>0&(i<1000|i>request.time.toMillis());
如前所述,使用
request.time
可以获得非空的
rules.Timestamp

当服务收到请求时

对于包含服务器端时间戳的Firestore写入操作, 此时间将等于服务器时间戳


但是我怎么知道现在的时间呢?很好,谢谢,我在查阅参考资料一个小时后没有找到。)
return i > 0 && (i < 1000 || i > request.time.toMillis());