How to use firebase.firestore.FieldValue.serverTimestamp() now?

0

Issue

I am following a tutorial and firebase.firestore.FieldValue.serverTimestamp() is used in the code to set timestamp prop as the server timestamp.

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

But I get this error.

Module not found: Can't resolve 'firebase' in ...

I suppose firebase had some kind of update that we don’t import it with import firebase from "firebase"; anymore? What should I do to use the servertimestamp()?

Solution

For an up to date sample, see the documentation on adding a server-side timestamp, which contains this snippet

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

The documentation has side-by-side examples for both the new v9 modular syntax and the older syntax that you’re likely to find in many third-party tutorials, so you can look up how to translate the code to the newer syntax. The upgrade guide is a good way to get started with that too.

Answered By – Frank van Puffelen

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More