Firebase数据库规则,将时间戳与今天的00:00:00进行比较?

时间:2016-12-14 20:38:37

标签: javascript json firebase firebase-realtime-database firebase-security

我尝试创建一个Firebase数据库规则,禁止用户写入任何在今天00:00:00之前创建时间戳的节点。

数据库示例:

{
    "messageID": { 
        "message": "blabla",
        "timestamp": 1481744636
    }
}

规则:

{
    "rules": {
        "$messageID": {
            ".write": "data.child('timestamp').val() > ???"
        }
    }
}

我知道'现在'关键字,但我认为它对我没有帮助。我需要一种方法来比较时间戳和今天00:00:00的值。

我可以创建并存储一张表格,其中包含未来每天午夜的所有unix纪元时间,但是有没有办法在飞行中计算它?

1 个答案:

答案 0 :(得分:6)

这应该这样做:

{
    "rules": {
        "$messageID": {
            ".write": "data.child('timestamp').val() > (now - (now % 86400000))"
        }
    }
}

86,400,000是24小时内的毫秒数,因此now % 86400000应该为您提供自00:00:00 UTC以来的毫秒数。



console.log(new Date(Date.now() - (Date.now() % 86400000)))