import { collection, addDoc } from 'firebase/firestore';
try {
const docRef = await addDoc(collection(db, 'users'), {
first: 'Ada',
last: 'Lovelace',
born: 1815,
});
console.log('Document written with ID: ', docRef.id);
} catch (e) {
console.error('Error adding document: ', e);
}
import { collection, getDocs } from 'firebase/firestore';
const querySnapshot = await getDocs(collection(db, 'users'));
querySnapshot.forEach((doc) => {
console.log(`${doc.id} => ${doc.data()}`);
});
- To create or overwrite a single document
- When you use set() to create a document, you must specify an ID for the document to create.
import { doc, setDoc } from 'firebase/firestore';
// Add a new document in collection "cities"
await setDoc(doc(db, 'cities', 'LA'), {
name: 'Los Angeles',
state: 'CA',
country: 'USA',
});
await setDoc(doc(db, 'cities', 'new-city-id'), data);
import { doc, updateDoc } from 'firebase/firestore';
const washingtonRef = doc(db, 'cities', 'DC');
// Set the "capital" field of the city 'DC'
await updateDoc(washingtonRef, {
capital: true,
});
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(),
});
import { doc, getDoc } from 'firebase/firestore';
const docRef = doc(db, 'cities', 'SF');
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!');
}
import { doc, onSnapshot } from 'firebase/firestore';
const unsub = onSnapshot(doc(db, 'cities', 'SF'), (doc) => {
console.log('Current data: ', doc.data());
});