Firestore nedir?
- Flutter kursu
- İleri seviye
- Ders 21/69
- 4 dk
Firestore ile koleksiyon ve belge modelini öğrenirsin.
Firestore nedir?
Firestore, Firebase'in NoSQL bulut veritabanıdır; verileri koleksiyon ve belge hiyerarşisinde saklar. FirebaseFirestore.instance ile tekil örneğe erişilir. Koleksiyonlar belgeleri, belgeler de anahtar-değer alanlarını tutar.
final db = FirebaseFirestore.instance;
final ref = db.collection('users').doc('u1');Gerçek zamanlı senkronizasyon sayesinde veri değiştiğinde tüm istemciler anında güncellenir.
Koleksiyon ve belge hiyerarşisi
Veriler koleksiyon > belge > alan biçiminde düzenlenir. Bir koleksiyon birden çok belge içerir; her belge benzersiz bir kimliğe sahiptir. Koleksiyonlar belge tutar, belgeler ise alanları veya alt koleksiyonları tutar.
db.collection('users')
.doc('u1')
.get();Uygulama Belge referansı oluştur
FirebaseFirestore.instance ile db al. 'users' koleksiyonunda 'u1' kimlikli belge referansını oluştur ve ref.id'yi yazdır.
Başlangıç kodu
class DocumentReference {
final String id;
DocumentReference(this.id);
}
class CollectionReference {
final String name;
CollectionReference(this.name);
DocumentReference doc(String id) => DocumentReference(id);
}
class FirebaseFirestore {
static final FirebaseFirestore instance = FirebaseFirestore._();
FirebaseFirestore._();
CollectionReference collection(String name) => CollectionReference(name);
}
void main() {
// tekil örnek ile db al
// 'users' koleksiyonunda 'u1' belge referansını oluştur
// ref.id yazdır
}Örnek çözüm
class DocumentReference {
final String id;
DocumentReference(this.id);
}
class CollectionReference {
final String name;
CollectionReference(this.name);
DocumentReference doc(String id) => DocumentReference(id);
}
class FirebaseFirestore {
static final FirebaseFirestore instance = FirebaseFirestore._();
FirebaseFirestore._();
CollectionReference collection(String name) => CollectionReference(name);
}
void main() {
final db = FirebaseFirestore.instance;
final ref = db.collection('users').doc('u1');
print(ref.id);
}Beklenen çıktı
u1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Firestore'da bir belge (document) neyi temsil eder?
- Anahtar-değer alanları tutan tek bir veri nesnesi Doğru cevap
- Yalnızca bir başlık metni
- Bir kullanıcı parolası
- Bir SQL tablosunun adını
Açıklama: Belge, anahtar-değer alanları tutan tek bir veri nesnesidir; koleksiyon içinde yer alır.
2 Koleksiyon referansı al
final col = db.____('users');
final col = db.collection('users');
Açıklama: Koleksiyon referansı almak için collection metodu kullanılır; parametre koleksiyon adıdır.
3 Firestore parçaları
| Kavram | Anlamı |
|---|---|
FirebaseFirestore.instance |
Tekil örnek |
collection |
Belge kümesi |
doc |
Tek belge referansı |
NoSQL |
Veri modeli |