首页 > 解决方案 > 现在如何使用 firebase.firestore.FieldValue.serverTimestamp()?

问题描述

我正在关注一个教程,代码中使用 firebase.firestore.FieldValue.serverTimestamp() 将timestampprop 设置为服务器时间戳。

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()

标签: javascriptreactjsfirebasegoogle-cloud-firestoretimestamp

解决方案


有关最新示例,请参阅有关添加服务器端时间戳的文档,其中包含此代码段

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 模块化语法和您可能在许多第三方教程中找到的旧语法的并排示例,因此您可以查看如何将代码转换为新语法。升级指南也是入门的好方法。


推荐阅读