javascript - Firebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳

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

我将云函数部署到 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"}} 而不是时间戳。

最佳答案

firebase.database.ServerValue.TIMESTAMP 不是您可以从云函数返回的值。您可以使用它的唯一方式是将其用作将数据插入实时数据库时使用的 token 。该标记由数据库服务器翻译为当前时间。

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

关于javascript - Firebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196331/

相关文章:

javascript - 如何无限循环一个函数(而不是使用传统的 for 循环)

javascript - 使用默认内容初始化tinyMCE

node.js - Sequelize 需要

ios - 从 firebase 检索我的帖子并将其显示在我的 collectionView 单元格上? ios

firebase - 显示从Firestore中检索到的数组字段时出错

javascript - jquery动态加载图片

javascript - 如何使用纯 javascript 检查本地存储中是否存在项目

javascript - MongoDB native : is there any difference between toString and toHexString methods?

javascript - 回调中的 Socket.io-emit 给出 SyntaxError : Unexpected end of JSON input

android - 当用户使用 firebase 单击按钮时向其他用户发送通知