当我使用此代码时:
firestore().collection("item").add({...item, created: firebase.database.ServerValue.TIMESTAMP})
它创建条目{".sv" : "timestamp"}
< - 实际单词“timestamp”
答案 0 :(得分:23)
您似乎在Firestore中创建了一个文档,但尝试从实时数据库中获取时间戳,这是一个不同的Firebase产品。
您可以通过以下方式使用Firestore的时间戳: firebase.firestore.FieldValue.serverTimestamp()
,如下所示:
firestore().collection("item")
.add({...item, created: firebase.firestore.FieldValue.serverTimestamp()})
击> <击> 撞击> 2019年2月更新:原始答案已被弃用。 Firestore时间戳的新用法是:
firestore().collection("item")
.add({...item, created: firebase.firestore.Timestamp.fromDate(new Date()) })
答案 1 :(得分:7)
在撰写本文时,公认的解决方案不起作用。表达式firebase.firestore.FieldValue.serverTimestamp()
不再有效。 Timestamp
现在直接位于firestore
内部。
因此,要获取以秒为单位的当前服务器时间,您可以编写
require('firebase-admin').firestore.Timestamp.now()._seconds
答案 2 :(得分:4)
此解决方案对我有效(于2020年3月):
Firestore.instance.collection("item").add({...other items, 'created': FieldValue.serverTimestamp()});
Cloud Firestore中的结果是: