CodeBlanks Logo Icon CodeBlanks

Firestore nedir?

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

main.dart
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

main.dart
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

Soru
final col = db.____('users');
Cevap
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

İleri seviye bölümündeki tüm dersler