【问题标题】:Firebase Cloud Function database.ServerValue.TIMESTAMP not returning timestampFirebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳
【发布时间】:2018-10-16 04:54:56
【问题描述】:

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

我检查了帖子,但似乎我使用了正确的代码: How do I get the server timestamp in Cloud Functions for 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"}} 而不是时间戳。

【问题讨论】:

    标签: javascript node.js firebase google-cloud-functions


    【解决方案1】:

    firebase.database.ServerValue.TIMESTAMP 不是您可以从云函数返回的值。 唯一 您可以使用它的方式是将数据插入实时数据库时使用的令牌。该令牌被数据库服务器转换为当前时间。

    如果要返回谷歌记录的当前时间,返回Date.now()的值。

    【讨论】:

    • 我明白了.. 感谢您的信息!
    猜你喜欢
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2021-02-12
    • 2020-11-02
    相关资源
    最近更新 更多