Firebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳
Posted
技术标签:
【中文标题】Firebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳【英文标题】:Firebase Cloud Function database.ServerValue.TIMESTAMP not returning 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" 而不是时间戳。
【问题讨论】:
【参考方案1】:firebase.database.ServerValue.TIMESTAMP
不是您可以从云函数返回的值。 唯一 您可以使用它的方式是将数据插入实时数据库时使用的令牌。该令牌被数据库服务器转换为当前时间。
如果要返回谷歌记录的当前时间,返回Date.now()
的值。
【讨论】:
我明白了.. 感谢您的信息!以上是关于Firebase Cloud Function database.ServerValue.TIMESTAMP 不返回时间戳的主要内容,如果未能解决你的问题,请参考以下文章
保护 Firebase Cloud Function HTTP 端点
是否可以检索 Firebase Cloud Function 源代码?
在 Cloud Function for Firebase 中设置 Firebase 消息的优先级
Firebase Cloud Function 部署 tslint 错误
Firebase 中的 Function Cloud 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)