我正在尝试使用云功能为FireStore时间戳添加额外的时间。对于实时数据库,我所做的只是使用users
。当我在firestore尝试相同的操作时,我得到了奇怪的数据,例如[object Object] 21600000。
这是我在Firestore中尝试的方法。
event.data.ref.child('expiry').set(timestamp+duration);
我该如何实现?
答案 0 :(得分:1)
您不能像这样使用serverTimestamp()
。在客户端上没有日期或时间值。这是一个标记标记,告诉Firestore用服务器时间替换该字段。它只能单独用作写操作的字段值。如果需要更改该值,则必须在写入该值之后再进行操作,例如在Cloud Functions触发器中或在客户端上。
如果您正在Cloud Functions中运行此代码,则可以直接从系统中读取日期,因为它已经保证是正确的。 (serverTimestamp()的目的是补偿时钟可能不准确的客户端设备。)