How do you find a document by its ID using version 9 of the Firebase JS SDK?

Viewed 1587

The new version 9 of the Firebase JS SDK has arrived with a more modular approach, and I'm trying to wrap my head around it.

I want to find and read a document from Firestore by its ID. In version 8, you could do:

await db.collection('users').doc(id).get();

Version 9 seems to have a function called "doc", and one called "getDoc", that could sound like the new equivalent, but I don't understand how to use them in practice. Has someone else played around with these yet?

Thanks in advance!

1 Answers

The documentation has a complete code snippet explaining how to fetch a single document with given ID:

import { doc, getDoc } from "firebase/firestore";

const docRef = doc(db, "users", id);
const docSnap = await getDoc(docRef);

if (docSnap.exists()) {
  console.log("Document data:", docSnap.data());
} else {
  // doc.data() will be undefined in this case
  console.log("No such document!");
}

The doc() method is used to get a DocumentReference and getDoc() is used to fetch the document from given reference.

Related