javascript - 现在如何使用 firebase.firestore.FieldValue.serverTimestamp()?
问题描述
我正在关注一个教程,代码中使用 firebase.firestore.FieldValue.serverTimestamp() 将timestamp
prop 设置为服务器时间戳。
import firebase from "firebase";
const someFunction = () => {
addDoc(collection(db, `rooms/${roomId}/messages`), {
message: input,
name: user.displayName,
timestamp: firebase.firestore.FieldValue.serverTimestamp(),
}).then((res) => getMessagesData());
};
但我得到这个错误。
Module not found: Can't resolve 'firebase' in ...
我想firebase有一些我们不再导入的更新import firebase from "firebase";
?我应该怎么做才能使用servertimestamp()
?
解决方案
有关最新示例,请参阅有关添加服务器端时间戳的文档,其中包含此代码段
import { updateDoc, serverTimestamp } from "firebase/firestore";
const docRef = doc(db, 'objects', 'some-id');
// Update the timestamp field with the value from the server
const updateTimestamp = await updateDoc(docRef, {
timestamp: serverTimestamp()
});
该文档包含新的 v9 模块化语法和您可能在许多第三方教程中找到的旧语法的并排示例,因此您可以查看如何将代码转换为新语法。升级指南也是入门的好方法。