如何在Firebase云功能中添加时间戳

时间:2019-06-26 13:45:16

标签: javascript firebase google-cloud-firestore google-cloud-functions

我正在尝试在Firebase云功能的firestore文档中添加时间戳。

我尝试过firestore.Timestamp.fromDate(new Date()),但无法正常工作。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const firestore = admin.firestore();
const createdAt = firestore.Timestamp.fromDate(new Date());
console.log(createdAt);

createdAt的值应返回服务器时间戳,但返回错误。

4 个答案:

答案 0 :(得分:2)

取而代之的是:

const firestore = admin.firestore();
const createdAt = firestore.Timestamp.fromDate(new Date());

试试这个:

const firestore = admin.firestore;
const createdAt = firestore.Timestamp.fromDate(new Date());

可能很难发现差异。所以这里是解释: 您正在调用对象“admin”的函数“firebase()”,而不是访问具有您正在查找的属性“Timestamp”的对象“admin”的属性“firebase”。

答案 1 :(得分:1)

此行代码中有语法错误。这不是有效的JavaScript:

const createdAt: firestore.Timestamp.fromDate(new Date());

您似乎要写这个:

const createdAt = firestore.Timestamp.fromDate(new Date());

答案 2 :(得分:0)

我个人使用过const timestamp = new Date().getTime(); 然后将其保存到firstore文档中,并且可以正常工作。

答案 3 :(得分:0)

专门使用functions.auth.user().onCreate((user) => {})的云函数挂钩时,我使用user.metadata.creationTime来获取确切的创建时间,而不必涉及时区和日期/时间问题。