新たなドキュメント(データ)を作成し、サブコレクションに追加するためには以下のコードを実行します。
【目次】
Firebaseを初期化する
この初期化コードは省略します。
addDoc()でサブコレクションにドキュメントを追加する場合
addDoc()メソッドを使うと、FirestoreがIDを自動生成してくれます。
レファレンスを作る時に、親ドキュメントのIDとサブコレクションの名前を入れる必要があるだけで、それ以外は普通にドキュメントを追加するときと全く同じです。
// roomsのドキュメントの深い層に、messagesというサブコレクションを持つ場合
// rooms
// - document
// - messages
// 変数を用意
const collectionName = "rooms";
const docId = "foo";
const subcollectionName = "messages";
// サブコレクションのレファレンス
const collectionRef = collection(db, collectionName, docId, subcollectionName);
// addDoc()で追加する
await addDoc(collectionRef, {
content: "hello world",
user_id: "foofoo"
});
setDoc()でサブコレクションにドキュメントを追加する場合
setDoc()メソッドを使うと、ドキュメントのIDを指定してドキュメントを作成できます。
// 新たに追加するドキュメントのID
const newDocId = "foofoofoo";
// サブコレクションのドキュメントのレファレンス
const docRef = doc(db, collectionName, docId, subcollectionName, newDocId);
// setDoc()で追加する
await setDoc(docRef, {
content: "hello world",
user_id: "foofoo"
});
※適宜変数に値を代入してください。