Firebase 9 Vs 8: Cloud Firestore CRUD Sorgularının Karşılıkları
Bu kısa Firebase bölümünde, Cloud Firestore’da CRUD sorguları için kullanılan sorguları Firebase 8 ile Firebase 9’da karşılaştırmalı olarak göreceğiz.
Firebase v9 kurulumu – Version 9
npm install firebase@9.6.11
Firebase v9 projeye dahil edilmesi
import { initializeApp } from 'firebase/app';
Firebase configuration ve initialization edilmesi
Config içeriğini firebase panelinizde yeni bir proje oluşturup bir web app ekleyerek yada önceden bir projeniz varsa projenin ayarlar kısmından Web apps bölümüne giderek indirebilirsiniz.
const firebaseConfig = {
apiKey: "********",
authDomain: "********",
projectId: "********",
storageBucket: "********",
messagingSenderId: "********",
appId: "********",
measurementId: "********"
};
initializeApp(firebaseConfig);
Firebase v8 kurulumu – Version 8
npm install firebase@8.2.3
Firebase v8 projeye dahil edilmesi
import firebase from 'firebase';
Firebase configuration ve initialization edilmesi
const firebaseConfig = {
apiKey: "********",
authDomain: "********",
projectId: "********",
storageBucket: "********",
messagingSenderId: "********",
appId: "********",
measurementId: "********"
};
firebase.initializeApp(firebaseConfig);
Cloud Firestore’a veri eklemek – addDoc – Version 9
Firebase v9 major bir güncelleme olduğu için köklü değişiklikler yapılmıştır. Bunların en önemlisi de bence modüler yapıya geçmiş olmasıdır.
Veri eklemek için öncelikle Firebase’i initialization ettikten sonra kullanacağımız modülleri import etmemiz gerekmekte.
Bunlar Firestore’a a erişmemizi sağlayan getFirestore modülü,
bir collection’dan referans oluşturmamızı sağlayan collection modülü ve
son olarak veriyi eklememizi sağlayan addDoc modülü.
Her 3 modülü de firebase/firestore altından import ediyoruz.
import { getFirestore, collection, addDoc } from "firebase/firestore";
ve bundan sonra kalan tek bir adım var. O da veriyi ekleyecek olan sorguyu yazmak.
const db = getFirestore();
const userRef = collection(db, "users");
addDoc(userRef, {name: "Mustafa SEYHAN"});
Cloud Firestore’a veri eklemek – addDoc – Version 8
Firebase’i projemize dahil ediyoruz.
import firebase from "firebase";
Gerekli olan ekleme sorgusunu yazıyoruz.
const db = firebase.firestore();
db.collection("users").doc().add({name: "Mustafa SEYHAN"});
Cloud Firestore’da verileri okumak – getDocs – Version 9
import { getFirestore, collection, getDocs } from "firebase/firestore";
const db = getFirestore();
const userRef = collection(db, "users");
getDocs(userRef).then((snap) => {
snap.forEach((doc) => {
console.log(doc.id);
console.log(doc.data());
});
});
Cloud Firestore’da verileri okumak – getDoc s- Version 8
import firebase from "firebase";
const db = firebase.firestore();
db.collection("users")
.get()
.then(snap => {
snap.forEach((doc) => {
console.log(doc.id);
console.log(doc.data());
});
});
},
Cloud Firestore’da verileri güncellemek, değiştirmek – setDoc – Version 9
import { getFirestore, collection, setDoc, doc } from "firebase/firestore";
const db = getFirestore();
const userRef = doc(db, "users", );
setDoc(userRef, { name: "Ayşenur SEYHAN" }, { merge: true });
Cloud Firestore’da verileri güncellemek, değiştirmek – setDoc – Version 8
import firebase from "firebase";
const db = firebase.firestore();
db.collection("users")
.doc("LEiIJwlnjZjfgdt89xjj")//UserId
.set({
name: "Ayşenur SEYHAN"
})
.then(() => {
console.log("deleted");
});
},
Cloud Firestore’da veri silmek – deleteDoc – Version 9
import { getFirestore, deleteDoc, doc } from "firebase/firestore";
const db = getFirestore();
deleteDoc(doc(db, "users", "LEiIJwlnjZjfgdt89xjj")).then(() => {
console.log("deleted");
});
Cloud Firestore’da veri silmek – deleteDoc – Version 8
import firebase from "firebase";
const db = firebase.firestore();
db.collection("users")
.doc("LEiIJwlnjZjfgdt89xjj")//userId
.delete()
.then(() => {
console.log("deleted");
});
},
Doğrusunu söylemek gerekirse içerik çok kısa oldu ancak, Ben araştırırken çok sıkıntı çektiğim için bu şekilde kısa da olsa başkalarının faydalanabileceği bir içerik eklemek istedim. Fırsat bulunca Firebase v9 ile ilgili daha da fazla ve detaylı içerikler ekleyeceğim.