我正在尝试在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
的值应返回服务器时间戳,但返回错误。
答案 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
来获取确切的创建时间,而不必涉及时区和日期/时间问题。