Data ထည့်ခြင်း (Set)
setDoc ကိုသုံးရင် document ID ကို ကိုယ်တိုင်သတ်မှတ်ပြီး data သိမ်းနိုင်ပါတယ်။ User profile လို ID ကိုသေချာသတ်မှတ်ချင်တဲ့ data များအတွက် အသုံးဝင်ပါတယ်။
Code Example
javascript
import { getFirestore, doc, setDoc } from 'firebase/firestore';
import { getAuth } from 'firebase/auth';
const db = getFirestore();
const auth = getAuth();
async function saveProfile() {
const user = auth.currentUser;
if (!user) return;
await setDoc(doc(db, 'users', user.uid), {
name: 'Sai',
email: user.email,
role: 'student'
});
console.log('Profile saved');
}ဒီ code က ဘာလုပ်တာလဲ?
doc(db, 'users', user.uid) က users collection ထဲမှာ login user ရဲ့ UID ကို document ID အနေနဲ့သုံးပါတယ်။ ဒီလိုသိမ်းရင် user တစ်ယောက် = profile document တစ်ခု ဆိုပြီးရှင်းပါတယ်။
Common mistake
setDoc က default အနေနဲ့ document တစ်ခုလုံးကို အစားထိုးနိုင်ပါတယ်။ ရှိပြီးသား field တွေမပျောက်ချင်ရင် { merge: true } သုံးပါ။
javascript
await setDoc(doc(db, 'users', user.uid), {
lastLoginAt: new Date()
}, { merge: true });