Firebase 9 ile bazı işlem adımları üzerinde güncellemeler gelmiş bulunmaktadır. Bu güncelleme ile birlikte firebase bağlantısı ve veri çekme, güncelleme , ekleme , silme gibi işlemlerde değişiklikler bulunmaktadır.
İlk olarak Firebase bağlantısına göz atalım. cdn yerine npm üzerinden firebase i projenize dahil ediyor iseniz güncel SDK 9 sürümü kurulumu sağlanacaktır.
Firebase tarafından bize verilen özel bağlantı bilgilerini tutacağımız bir js dosyası oluşturalım ve bu dosya Firebase tarafından verilen bilgileri girelim.
import { initializeApp } from "firebase/app";
const firebaseConfig = {};
const app = initializeApp(firebaseConfig);
Genel olarak Firebase tarafından size verilen bilgiler yukarıdaki gibi olacaktır.
Bu bilgilere ek olarak
firestore
kullanımı ile bilgileri çekeceğimiz için dosyamıza ek olarak firestore
u import etmemiz ve app
değişkenini getFirestore()
fonksiyonu içerisinde çağırmamız gerekmektedir.import { getFirestore } from "firebase/firestore";
const fireStore = getFirestore(app);
Bu işlemler sonrası
fireStore
adında oluşturduğumuz değişkenimizi dosya üzerinde export
işlemi sağlamamız gerekmektedir. Aksi halde bu bilgilerin bulunduğu dosyayı işlem sağlayacağımız sayfa üzerinde çağırdığımızda sonuç alamayacak ve hata oluşacaktır.export default fireStore
Firebase i projemize ekleme işlemi sonrası işlem sağlayacağımız sayfa üzerindeki config ayarlarımızın bulunduğu sayfayı import etmemiz gerekmektedir.
import fireStore from 'dosyaYolu'
Bu import işlemi SDK 9 ile yeterli olmamaktadır.
collection
ve bazı yeni özelliklerin kullanımı için firestore u tekrar dosyamıza import ediyoruz. Fakat bu sefer getFirestore
yerine collection
, query
, where
, getDocs
fonksiyonlarını çağırıyoruz.import { collection, query, where, getDocs } from "firebase/firestore"
SDK 8 ile
collection
ile direk veriyi çekebiliyorduk fakat SDK 9 ile collection
kullanımımızı query
fonksiyonu içerisinde sağlamamız gerekmektedir.let e = query(collection(fireStore, 'koleksiyonIsmi'))
const querySnapshot = await getDocs(e)
collection
fonksiyonu içerisinde export
işlemi sağladığımız değişken ve Firebase üzerinde oluşturduğumuz koleksiyon ismini girmemiz yeterli olacaktır.querySnapshot.forEach(doc=>{
console.log(doc.data())
})
Yukarıdaki işlemde de elde ettiğimiz dizi içerisinden data method u ile koleksiyon içerisinde bulunan her bir veriyi bir dizi olarak elde edebilmekteyiz.