<aside> 🌿 画像はv8の時の書き方 画像の下にv9の書き方を記述しているので、実際に記述する時はそちらを参考にすること!
▼ドキュメント
Add data to Cloud Firestore | Firebase
</aside>

https://www.youtube.com/watch?v=Dq0uWRquuf4&list=PLX8Rsrpnn3IWavNOj3n4Vypzwb3q1RXhr&index=14
▼v9の書き方
import { collection, addDoc } from "firebase/firestore";
const productsRef = collection(db, "products");
const data = {
description: description,
name: name,
price: parseInt(price, 10), // 渡される値が文字列なので、parseIntメソッドで数値化(10=10進数のこと)
}
return addDoc(productsRef, data)
.then(() => {
dispatch(push("/"));
}).catch((error) => {
throw new Error(error)
});

https://www.youtube.com/watch?v=Dq0uWRquuf4&list=PLX8Rsrpnn3IWavNOj3n4Vypzwb3q1RXhr&index=14
▼v9の書き方
import { collection, doc, setDoc } from "firebase/firestore";
const productsRef = collection(db, "products");
const data = {
description: description,
name: name,
price: parseInt(price, 10),
}
// IDを自動採番(addメソッドと同じ)
return setDoc(doc(productsRef), data);
// 事前に自動採番されたIDを取得できる
const ref = doc(productsRef); // 新しくデータを作成(自動採番)
const id = ref.id; // 自動採番したidを取得、格納
data.id = id; // 上記const data にidを追加
return setDoc(doc(db, "products", id), data);
// 変更部分のみmergeできる。第二引数({merge: true})をセットしないと、全て上書きになる
setDoc(doc(db, "products", id), data, {merge: true});