Firebase云函数database.ServerValue.TIMESTAMP未返回时间戳

3

我将云函数部署到Firebase,并想要获取当前服务器时间戳,但它返回给我{".sv":"timestamp"}}。

我查看了帖子,但似乎我正在使用正确的代码: 如何在Firebase云函数中获取服务器时间戳?

我的代码:

var firebase = require('firebase-admin');
var serviceAccount = require('./privateKey/key.json');
firebase.initializeApp({
  credential: firebase.credential.cert(serviceAccount),
  databaseURL: 'https://food-ninja-mobile.firebaseio.com/'
});
db = firebase.database();

db.ref(collection).once('value', snap => {

    var snapVal = snap.val()
    var myData = Object.keys(snapVal).map(key => {
      return snapVal[key];
    })
    var snapLength = myData.length

    returnMsg = {}
    returnMsg['DbCollection'] = collection
    returnMsg['count'] = snapLength
    returnMsg['action'] = 'getUserCollectionCount'
    returnMsg['timeStamp'] = firebase.database.ServerValue.TIMESTAMP
    console.log(returnMsg)
    return res.status(200).send(returnMsg)
  })

我的 API: https://us-central1-food-ninja-mobile.cloudfunctions.net/api/getUserCollectionCount?collection=users 请问为什么它会返回 {".sv":"timestamp"} 而不是 timestamp。
1个回答

6

firebase.database.ServerValue.TIMESTAMP不是你可以从云函数返回的值。你唯一能够使用它的方式是作为一个令牌,用于在实时数据库中插入数据。该令牌会被数据库服务器转换为当前时间。

如果你想返回Google记录的当前时间,请返回Date.now()的值。


我明白了,谢谢你的信息! - Jerry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接