有没有办法在没有 Firebase-Admin 的情况下在 Firebase Firestore JS 中使用 FieldValue.serverTimestamp()

Posted

技术标签:

【中文标题】有没有办法在没有 Firebase-Admin 的情况下在 Firebase Firestore JS 中使用 FieldValue.serverTimestamp()【英文标题】:Is there any way to use FieldValue.serverTimestamp() in Firebase Firestore JS without Firebase-Admin 【发布时间】:2018-04-05 10:41:50 【问题描述】:

根据下面的回答,Firebase-Admin 需要使用 FieldValue.serverTimestamp()。

How do I get the server timestamp in Cloud Functions for Firebase with Firestore?.

但我只使用 Firebase JS 和 Firebase Firestore JS。该应用程序仅在客户端运行。 但是,Firebase-Admin 需要服务器。

有没有办法在写操作时使用服务器时间戳

【问题讨论】:

FieldValue.serverTimestamp() 在所有客户端 SDK 中可用,including javascript @BobSnyder 谢谢。它奏效了。 是的,使用它可以在您的对象中添加:firebase.firestore.FieldValue.serverTimestamp() 【参考方案1】:

您可以从您的 firebase 实例中获取该实例:

firebase.firestore.FieldValue.serverTimestamp();

【讨论】:

我现在可以使用什么,因为firebase.firestore.FieldValue.serverTimestamp() 现在无法在网络上使用【参考方案2】:

此答案已过时,请查看以上答案!

只需在您的对象中使用Firebase.ServerValue.TIMESTAMP

像这样:

ref.set( time: Firebase.ServerValue.TIMESTAMP )

【讨论】:

firebase.firestore.FieldValue.serverTimestamp()有什么区别? @wonsuc 这个答案与实时数据库有关。您的代码适用于 firestore。 抱歉,我不得不投反对票,因为 OP 正在谈论 Firestore。 这实际上应该不是公认的答案,因为它使人们感到困惑。 @莱昂纳多

以上是关于有没有办法在没有 Firebase-Admin 的情况下在 Firebase Firestore JS 中使用 FieldValue.serverTimestamp()的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine - 节点:找不到模块“firebase-admin”

谷歌云平台:“找不到模块 firebase-admin”

如何使用firebase-admin在firestore中将日期保存为时间戳?

更新 firebase-admin 后出现 EACCES 错误

Cloud Functions 模拟器需要安装模块“firebase-admin”

如何忽略“firebase-admin 似乎已安装在不受支持的环境中。”?