0
我想自动为添加到Firebase数据库的新项目创建过期时间戳。所以我写了以下功能:Firebase功能:操作admin.database.ServerValue.TIMESTAMP
exports.onCreateNewItem = functions.database.ref('/items/{item_id}').onCreate(event => {
var mergedUpdate = {};
mergedUpdate['expiration'] = admin.database.ServerValue.TIMESTAMP + 2678400000;
return event.data.adminRef.update(mergedUpdate);
})
但是,它不起作用。 /items/{item_id}/expiration
的值是"[object Object]2678400000"
,而我预计它是从现在开始的31天的时间戳。
虽然这确实是正确的,但有一些细微差别。例如:Date.how()和admin.database.ServerValue.TIMESTAMP的值不能保证(也不太可能)相同。这意味着你不能使用'Date.now()',并在安全规则中成功地将它与'now'比较。所以:虽然你的方法在很多情况下可能都很好,但它不是一个直接替代品。 –
只要差异在分钟范围内,我就可以。这不是这种情况吗? – user2145097
弗兰克在他的评论中发现的时代的差异决不会超过一秒。 –