使用功能时在Firebase中获取服务器时间戳

时间:2020-05-22 07:25:33

标签: firebase firebase-realtime-database google-cloud-functions

      // Create the user document
      const userRef = db.collection('Users').doc(uid)

      transaction.set(userRef, { 
        email,
        createTime : admin.database.ServerValue.TIMESTAMP,
      });

占位符{.sv: "timestamp"}甚至在写入文档时也不会转换为时间戳。

1 个答案:

答案 0 :(得分:0)

您实际上是在混合使用Firestore(例如db.collection('Users').doc(uid)transaction.set())和实时数据库(admin.database.ServerValue.TIMESTAMP)。

对于带云功能的Firestore,要使用“ sentinel values,可在编写文档字段时使用”,请执行以下操作:

const functions = require('firebase-functions');
const admin = require('firebase-admin');

const FieldValue = require('firebase-admin').firestore.FieldValue;

//...
transaction.set(userRef, { 
     email,
     createTime : FieldValue.serverTimestamp()
});