Mulai menggunakan edisi Cloud Firestore Standard dengan library klien server

Panduan memulai ini menunjukkan cara menyiapkan edisi Cloud Firestore Enterprise, menambahkan data, lalu melihat data yang baru saja ditambahkan di Firebase console menggunakan library klien server untuk C#, Go, Java, Node.js, PHP, Python, dan Ruby.

Gunakan library klien ini untuk menyiapkan lingkungan server dengan hak istimewa yang memiliki akses penuh ke database Anda.

Membuat database Cloud Firestore

  1. Jika belum melakukannya, buat project Firebase: Di Firebase console, klik Add project, lalu ikuti petunjuk di layar untuk membuat project Firebase atau untuk menambahkan layanan Firebase ke project Google Cloud yang ada.

  2. Buka project Anda di Firebase console. Di panel kiri, luaskan Build, lalu pilih Firestore database.

  3. Klik Create database.

  4. Pilih lokasi untuk database Anda.

    Jika lokasi tidak dapat dipilih, berarti "lokasi untuk resource Google Cloud default" project Anda sudah ditetapkan. Beberapa resource project (seperti instance Cloud Firestore default) memiliki dependensi lokasi yang sama, dan lokasinya dapat ditetapkan selama pembuatan project atau saat menyiapkan layanan lain yang memiliki dependensi lokasi ini.

  5. Pilih mode awal untuk Cloud Firestore Security Rules Anda:

    Mode pengujian

    Cocok untuk memulai dengan library klien seluler dan web, tetapi memungkinkan siapa pun untuk membaca dan menimpa data Anda. Setelah melakukan pengujian, pastikan untuk membaca bagian Melindungi data.

    Untuk memulai dengan web, platform Apple, atau Android SDK, pilih mode pengujian.

    Mode produksi

    Menolak semua pembacaan dan penulisan dari klien seluler dan web. Server aplikasi terautentikasi (C#, Go, Java, Node.js, PHP, Python, atau Ruby) masih dapat mengakses database Anda.

    Untuk mulai menggunakan library klien server C#, Go, Java, Node.js, PHP, Python, atau Ruby, pilih mode produksi.

    Kumpulan Cloud Firestore Security Rules awal Anda akan diterapkan ke database Cloud Firestore default. Jika Anda membuat beberapa database untuk project, Anda dapat men-deploy Cloud Firestore Security Rules untuk setiap database.

  6. Klik Create.

Saat Anda mengaktifkan Cloud Firestore, API di Pengelola Cloud API juga akan aktif.

Menyiapkan lingkungan pengembangan

Tambahkan dependensi dan library klien yang dibutuhkan ke aplikasi Anda.

Java
  1. Tambahkan Firebase Admin SDK ke aplikasi Anda:
    • Menggunakan Gradle:
      implementation 'com.google.firebase:firebase-admin:9.7.1'
    • Menggunakan Maven:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>9.7.1</version>
      </dependency>
           
  2. Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Python
  1. Tambahkan Firebase Admin SDK ke aplikasi Python Anda:
    pip install --upgrade firebase-admin
  2. Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Node.js
  1. Tambahkan Firebase Admin SDK ke aplikasi Anda:
    npm install firebase-admin --save
  2. Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
Go
  1. Tambahkan Firebase Admin SDK ke aplikasi Go Anda:
    go get firebase.google.com/go
  2. Ikuti petunjuk di bawah ini untuk melakukan inisialisasi Cloud Firestore dengan kredensial yang tepat di lingkungan Anda.
PHP
  1. Library klien server Cloud Firestore (Java, Node.js, Python, Go, PHP, C#, dan Ruby) menggunakan Kredensial Default Aplikasi Google untuk melakukan autentikasi.
    • Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS mengarah ke file kunci akun layanan JSON. Anda dapat membuat file kunci di halaman Credentials di Konsol API.
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • Autentikasi tidak diperlukan jika aplikasi yang Anda jalankan pada App Engine atau Compute Engine di lingkungan produksi menggunakan project yang sama dengan yang digunakan untuk Cloud Firestore. Jika Anda menggunakan project berbeda, siapkan akun layanan.
  2. Instal dan aktifkan ekstensi gRPC untuk PHP, yang akan Anda perlukan untuk menggunakan library klien.
  3. Tambahkan library PHP Cloud Firestore ke aplikasi Anda:
    composer require google/cloud-firestore
Ruby
  1. Library klien server Cloud Firestore (Java, Node.js, Python, Go, PHP, C#, dan Ruby) menggunakan Kredensial Default Aplikasi Google untuk melakukan autentikasi.
    • Untuk mengautentikasi dari lingkungan pengembangan, atur agar variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS mengarah ke file kunci akun layanan JSON. Anda dapat membuat file kunci di halaman Credentials di Konsol API.
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • Autentikasi tidak diperlukan jika aplikasi yang Anda jalankan pada App Engine atau Compute Engine di lingkungan produksi menggunakan project yang sama dengan yang digunakan untuk Cloud Firestore. Jika Anda menggunakan project berbeda, siapkan akun layanan.
  2. Tambahkan library Ruby Cloud Firestore ke aplikasi Anda di Gemfile:
    gem "google-cloud-firestore"
  3. Instal dependensi dari Gemfile menggunakan:
    bundle install

(Opsional) Membuat prototipe dan melakukan pengujian dengan Firebase Local Emulator Suite

Bagi developer seluler, sebelum membahas cara aplikasi Anda menulis ke dan membaca dari Cloud Firestore, kenali Firebase Local Emulator Suite yang merupakan sekumpulan alat yang dapat Anda gunakan untuk membuat prototipe dan menguji fungsi Cloud Firestore. Jika Anda sedang mencoba berbagai model data, mengoptimalkan aturan keamanan, atau berupaya menemukan cara yang paling hemat biaya untuk berinteraksi dengan backend, akan sangat bermanfaat jika Anda dapat bekerja secara lokal tanpa men-deploy layanan langsung.

Emulator Cloud Firestore adalah bagian dari Local Emulator Suite, yang memungkinkan aplikasi Anda berinteraksi dengan konten dan konfigurasi database yang diemulasi, serta, jika diinginkan, dengan resource project yang diemulasi (fungsi, database lain, dan aturan keamanan).

Hanya diperlukan beberapa langkah untuk menggunakan emulator Cloud Firestore:

  1. Menambahkan satu baris kode ke konfigurasi pengujian aplikasi untuk terhubung ke emulator.
  2. Menjalankan firebase emulators:start dari root direktori project lokal Anda.
  3. Melakukan panggilan dari kode prototipe aplikasi Anda menggunakan platform Cloud Firestore SDK seperti biasa.

Panduan mendetail yang mencakup Cloud Firestore dan Cloud Functions telah tersedia. Sebaiknya baca juga pengantar Local Emulator Suite.

Lakukan inisialisasi Cloud Firestore

Lakukan inisialisasi instance Cloud Firestore:

Java
Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.
  • Melakukan inisialisasi pada Google Cloud
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.cloud.firestore.Firestore;
    
    import com.google.firebase.FirebaseApp;
    import com.google.firebase.FirebaseOptions;
    
    // Use the application default credentials
    GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
    FirebaseOptions options = new FirebaseOptions.Builder()
        .setCredentials(credentials)
        .setProjectId(projectId)
        .build();
    FirebaseApp.initializeApp(options);
    
    Firestore db = FirestoreClient.getFirestore();
  • Melakukan inisialisasi pada server Anda sendiri

    Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.

    Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:

    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.cloud.firestore.Firestore;
    
    import com.google.firebase.FirebaseApp;
    import com.google.firebase.FirebaseOptions;
    
    // Use a service account
    InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json");
    GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount);
    FirebaseOptions options = new FirebaseOptions.Builder()
        .setCredentials(credentials)
        .build();
    FirebaseApp.initializeApp(options);
    
    Firestore db = FirestoreClient.getFirestore();
  • Python
    Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.
  • Melakukan inisialisasi pada Google Cloud
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()

    Kredensial default aplikasi yang sudah ada juga dapat digunakan untuk melakukan inisialisasi SDK tersebut.

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    
    # Use the application default credentials.
    cred = credentials.ApplicationDefault()
    
    firebase_admin.initialize_app(cred)
    db = firestore.client()
  • Melakukan inisialisasi pada server Anda sendiri

    Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.

    Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    
    # Use a service account.
    cred = credentials.Certificate('path/to/serviceAccount.json')
    
    app = firebase_admin.initialize_app(cred)
    
    db = firestore.client()
  • Python

    Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.
  • Melakukan inisialisasi pada Google Cloud
    import firebase_admin
    from firebase_admin import firestore_async
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore_async.client()

    Kredensial default aplikasi yang sudah ada juga dapat digunakan untuk melakukan inisialisasi SDK tersebut.

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore_async
    
    # Use the application default credentials.
    cred = credentials.ApplicationDefault()
    
    firebase_admin.initialize_app(cred)
    db = firestore_async.client()
  • Melakukan inisialisasi pada server Anda sendiri

    Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.

    Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore_async
    
    # Use a service account.
    cred = credentials.Certificate('path/to/serviceAccount.json')
    
    app = firebase_admin.initialize_app(cred)
    
    db = firestore_async.client()
  • Node.js
    Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.
    • Melakukan inisialisasi pada Cloud Functions
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
      initializeApp();
      
      const db = getFirestore();
      
    • Melakukan inisialisasi pada Google Cloud
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
      initializeApp({
        credential: applicationDefault()
      });
      
      const db = getFirestore();
    • Melakukan inisialisasi pada server Anda sendiri

      Untuk menggunakan Firebase Admin SDK pada server Anda sendiri (atau lingkungan Node.js lainnya), gunakan akun layanan. Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:

      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
      const serviceAccount = require('./path/to/serviceAccountKey.json');
      
      initializeApp({
        credential: cert(serviceAccount)
      });
      
      const db = getFirestore();
      
    Go
    Inisialisasi Cloud Firestore SDK dilakukan dengan berbagai cara, tergantung pada lingkungan Anda. Berikut adalah metode yang paling umum. Untuk referensi yang lebih lengkap, baca bagian Melakukan Inisialisasi Admin SDK.
  • Melakukan inisialisasi pada Google Cloud
    import (
      "log"
    
      firebase "firebase.google.com/go"
      "google.golang.org/api/option"
    )
    
    // Use the application default credentials
    ctx := context.Background()
    conf := &firebase.Config{ProjectID: projectID}
    app, err := firebase.NewApp(ctx, conf)
    if err != nil {
      log.Fatalln(err)
    }
    
    client, err := app.Firestore(ctx)
    if err != nil {
      log.Fatalln(err)
    }
    defer client.Close()
  • Melakukan inisialisasi pada server Anda sendiri

    Untuk menggunakan Firebase Admin SDK pada server Anda sendiri, gunakan akun layanan.

    Buka IAM & admin > Service accounts di Konsol Google Cloud. Buat kunci pribadi baru dan simpan file JSON-nya. Lalu gunakan file tersebut untuk melakukan inisialisasi SDK:

    import (
      "log"
    
      firebase "firebase.google.com/go"
      "google.golang.org/api/option"
    )
    
    // Use a service account
    ctx := context.Background()
    sa := option.WithCredentialsFile("path/to/serviceAccount.json")
    app, err := firebase.NewApp(ctx, nil, sa)
    if err != nil {
      log.Fatalln(err)
    }
    
    client, err := app.Firestore(ctx)
    if err != nil {
      log.Fatalln(err)
    }
    defer client.Close()
  • PHP

    PHP

    Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

    use Google\Cloud\Firestore\FirestoreClient;
    
    /**
     * Initialize Cloud Firestore with default project ID.
     */
    function setup_client_create(string $projectId = null)
    {
        // Create the Cloud Firestore client
        if (empty($projectId)) {
            // The `projectId` parameter is optional and represents which project the
            // client will act on behalf of. If not supplied, the client falls back to
            // the default project inferred from the environment.
            $db = new FirestoreClient();
            printf('Created Cloud Firestore client with default project ID.' . PHP_EOL);
        } else {
            $db = new FirestoreClient([
                'projectId' => $projectId,
            ]);
            printf('Created Cloud Firestore client with project ID: %s' . PHP_EOL, $projectId);
        }
    }
    C#

    C#

    Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

    FirestoreDb db = FirestoreDb.Create(project);
    Console.WriteLine("Created Cloud Firestore client with project ID: {0}", project);
    Ruby
    require "google/cloud/firestore"
    
    # The `project_id` parameter is optional and represents which project the
    # client will act on behalf of. If not supplied, the client falls back to the
    # default project inferred from the environment.
    firestore = Google::Cloud::Firestore.new project_id: project_id
    
    puts "Created Cloud Firestore client with given project ID."

    Tambahkan data

    Cloud Firestore menyimpan data dalam Documents yang disimpan di Collections. Cloud Firestore membuat koleksi dan dokumen secara implisit saat pertama kali Anda menambahkan data ke dokumen. Anda tidak perlu membuat koleksi atau dokumen secara eksplisit.

    Buat koleksi baru dan dokumen menggunakan kode contoh berikut.

    Java
    DocumentReference docRef = db.collection("users").document("alovelace");
    // Add document data  with id "alovelace" using a hashmap
    Map<String, Object> data = new HashMap<>();
    data.put("first", "Ada");
    data.put("last", "Lovelace");
    data.put("born", 1815);
    //asynchronously write data
    ApiFuture<WriteResult> result = docRef.set(data);
    // ...
    // result.get() blocks on response
    System.out.println("Update time : " + result.get().getUpdateTime());
    Python
    doc_ref = db.collection("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    Python

    doc_ref = db.collection("users").document("alovelace")
    await doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})
    Node.js
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    Go
    _, _, err := client.Collection("users").Add(ctx, map[string]interface{}{
    	"first": "Ada",
    	"last":  "Lovelace",
    	"born":  1815,
    })
    if err != nil {
    	log.Fatalf("Failed adding alovelace: %v", err)
    }
    PHP

    PHP

    Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

    $docRef = $db->collection('samples/php/users')->document('alovelace');
    $docRef->set([
        'first' => 'Ada',
        'last' => 'Lovelace',
        'born' => 1815
    ]);
    printf('Added data to the lovelace document in the users collection.' . PHP_EOL);
    C#
    DocumentReference docRef = db.Collection("users").Document("alovelace");
    Dictionary<string, object> user = new Dictionary<string, object>
    {
        { "First", "Ada" },
        { "Last", "Lovelace" },
        { "Born", 1815 }
    };
    await docRef.SetAsync(user);
    Ruby
    doc_ref = firestore.doc "#{collection_path}/alovelace"
    
    doc_ref.set(
      {
        first: "Ada",
        last:  "Lovelace",
        born:  1815
      }
    )
    
    puts "Added data to the alovelace document in the users collection."

    Sekarang tambahkan dokumen lain ke koleksi users. Perhatikan bahwa dokumen ini berisi key-value pair (nama tengah) yang tidak muncul di dokumen pertama. Dokumen dalam koleksi dapat berisi kumpulan informasi yang berbeda.

    Java
    DocumentReference docRef = db.collection("users").document("aturing");
    // Add document data with an additional field ("middle")
    Map<String, Object> data = new HashMap<>();
    data.put("first", "Alan");
    data.put("middle", "Mathison");
    data.put("last", "Turing");
    data.put("born", 1912);
    
    ApiFuture<WriteResult> result = docRef.set(data);
    System.out.println("Update time : " + result.get().getUpdateTime());
    Python
    doc_ref = db.collection("users").document("aturing")
    doc_ref.set({"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912})

    Python

    doc_ref = db.collection("users").document("aturing")
    await doc_ref.set(
        {"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912}
    )
    Node.js
    const aTuringRef = db.collection('users').doc('aturing');
    
    await aTuringRef.set({
      'first': 'Alan',
      'middle': 'Mathison',
      'last': 'Turing',
      'born': 1912
    });
    Go
    _, _, err = client.Collection("users").Add(ctx, map[string]interface{}{
    	"first":  "Alan",
    	"middle": "Mathison",
    	"last":   "Turing",
    	"born":   1912,
    })
    if err != nil {
    	log.Fatalf("Failed adding aturing: %v", err)
    }
    PHP

    PHP

    Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

    $docRef = $db->collection('samples/php/users')->document('aturing');
    $docRef->set([
        'first' => 'Alan',
        'middle' => 'Mathison',
        'last' => 'Turing',
        'born' => 1912
    ]);
    printf('Added data to the aturing document in the users collection.' . PHP_EOL);
    C#
    DocumentReference docRef = db.Collection("users").Document("aturing");
    Dictionary<string, object> user = new Dictionary<string, object>
    {
        { "First", "Alan" },
        { "Middle", "Mathison" },
        { "Last", "Turing" },
        { "Born", 1912 }
    };
    await docRef.SetAsync(user);
    Ruby
    doc_ref = firestore.doc "#{collection_path}/aturing"
    
    doc_ref.set(
      {
        first:  "Alan",
        middle: "Mathison",
        last:   "Turing",
        born:   1912
      }
    )
    
    puts "Added data to the aturing document in the users collection."

    Membaca data

    Gunakan penampil data di Firebase console untuk memverifikasi dengan cepat bahwa Anda telah menambahkan data ke Cloud Firestore.

    Anda juga dapat menggunakan metode "get" untuk mengambil seluruh koleksi.

    Java
    // asynchronously retrieve all users
    ApiFuture<QuerySnapshot> query = db.collection("users").get();
    // ...
    // query.get() blocks on response
    QuerySnapshot querySnapshot = query.get();
    List<QueryDocumentSnapshot> documents = querySnapshot.getDocuments();
    for (QueryDocumentSnapshot document : documents) {
      System.out.println("User: " + document.getId());
      System.out.println("First: " + document.getString("first"));
      if (document.contains("middle")) {
        System.out.println("Middle: " + document.getString("middle"));
      }
      System.out.println("Last: " + document.getString("last"));
      System.out.println("Born: " + document.getLong("born"));
    }
    Python
    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")

    Python

    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    async for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    Node.js
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    Go
    iter := client.Collection("users").Documents(ctx)
    for {
    	doc, err := iter.Next()
    	if err == iterator.Done {
    		break
    	}
    	if err != nil {
    		log.Fatalf("Failed to iterate: %v", err)
    	}
    	fmt.Println(doc.Data())
    }
    PHP

    PHP

    Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Firestore, lihat Library Klien Cloud Firestore.

    $usersRef = $db->collection('samples/php/users');
    $snapshot = $usersRef->documents();
    foreach ($snapshot as $user) {
        printf('User: %s' . PHP_EOL, $user->id());
        printf('First: %s' . PHP_EOL, $user['first']);
        if (!empty($user['middle'])) {
            printf('Middle: %s' . PHP_EOL, $user['middle']);
        }
        printf('Last: %s' . PHP_EOL, $user['last']);
        printf('Born: %d' . PHP_EOL, $user['born']);
        printf(PHP_EOL);
    }
    printf('Retrieved and printed out all documents from the users collection.' . PHP_EOL);
    C#
    CollectionReference usersRef = db.Collection("users");
    QuerySnapshot snapshot = await usersRef.GetSnapshotAsync();
    foreach (DocumentSnapshot document in snapshot.Documents)
    {
        Console.WriteLine("User: {0}", document.Id);
        Dictionary<string, object> documentDictionary = document.ToDictionary();
        Console.WriteLine("First: {0}", documentDictionary["First"]);
        if (documentDictionary.ContainsKey("Middle"))
        {
            Console.WriteLine("Middle: {0}", documentDictionary["Middle"]);
        }
        Console.WriteLine("Last: {0}", documentDictionary["Last"]);
        Console.WriteLine("Born: {0}", documentDictionary["Born"]);
        Console.WriteLine();
    }
    Ruby
    users_ref = firestore.col collection_path
    users_ref.get do |user|
      puts "#{user.document_id} data: #{user.data}."
    end

    Langkah berikutnya

    Perdalam pengetahuan Anda tentang topik berikut: