Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Cloud Firestore'a veri ekleyin

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Cloud Firestore'a veri yazmanın birkaç yolu vardır:

  • Açıkça bir belge tanımlayıcısı belirterek, bir koleksiyon içindeki bir belgenin verilerini ayarlayın.
  • Koleksiyona yeni bir belge ekleyin. Bu durumda Cloud Firestore, belge tanımlayıcısını otomatik olarak oluşturur.
  • Otomatik olarak oluşturulmuş bir tanımlayıcıyla boş bir belge oluşturun ve buna daha sonra veri atayın.

Bu kılavuz, Cloud Firestore'da tek tek belgelerin nasıl kullanılacağını, ekleneceğini veya güncelleneceğini açıklar. Verileri toplu olarak yazmak istiyorsanız, bkz. İşlemler ve Toplu Yazmalar .

Sen başlamadan önce

Cloud Firestore veritabanı oluşturmak için Cloud Firestore'u kullanmaya başlayın bölümüne bakın.

Cloud Firestore'u Başlatın

Bir Cloud Firestore örneği başlatın:

Web version 9

import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://support.google.com/firebase/answer/7015592
const firebaseConfig = {
    FIREBASE_CONFIGURATION
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Cloud Firestore and get a reference to the service
const db = getFirestore(app);

firebaseConfig web uygulamanızın FIREBASE_CONFIGURATION ile değiştirin.

Cihaz bağlantısını kaybettiğinde verileri devam ettirmek için Çevrimdışı Verileri Etkinleştir belgelerine bakın.

Web version 8

import firebase from "firebase/app";
import "firebase/firestore";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://support.google.com/firebase/answer/7015592
const firebaseConfig = {
    FIREBASE_CONFIGURATION
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Cloud Firestore and get a reference to the service
const db = firebase.firestore();

firebaseConfig web uygulamanızın FIREBASE_CONFIGURATION ile değiştirin.

Cihaz bağlantısını kaybettiğinde verileri devam ettirmek için Çevrimdışı Verileri Etkinleştir belgelerine bakın.

Süratli
Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
import FirebaseCore
import FirebaseFirestore
tutucu3 l10n-yer
FirebaseApp.configure()

let db = Firestore.firestore()
Amaç-C
Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
@import FirebaseCore;
@import FirebaseFirestore;

// Use Firebase library to configure APIs
[FIRApp configure];
  
FIRFirestore *defaultFirestore = [FIRFirestore firestore];

Kotlin+KTX

// Access a Cloud Firestore instance from your Activity
tutucu7 l10n-yer
val db = Firebase.firestore

Java

// Access a Cloud Firestore instance from your Activity
tutucu9 l10n-yer
FirebaseFirestore db = FirebaseFirestore.getInstance();

Dart

db = FirebaseFirestore.instance;
java
Cloud Firestore SDK, ortamınıza bağlı olarak farklı şekillerde başlatılır. Aşağıda en yaygın yöntemler bulunmaktadır. Eksiksiz bir başvuru için bkz . Admin SDK'yı Başlatın .
  • 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();
    
    başlat
  • Kendi sunucunuzda başlatın

    Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.

    Google Cloud konsolunda IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:

    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();
    
  • Piton
    Cloud Firestore SDK, ortamınıza bağlı olarak farklı şekillerde başlatılır. Aşağıda en yaygın yöntemler bulunmaktadır. Eksiksiz bir başvuru için bkz . Admin SDK'yı Başlatın .
  • Google Cloud
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()
    başlat

    SDK'yı başlatmak için mevcut bir uygulama varsayılan kimlik bilgisi de kullanılabilir.

    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()
  • Kendi sunucunuzda başlatın

    Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.

    Google Cloud konsolunda IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:

    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

    Cloud Firestore SDK, ortamınıza bağlı olarak farklı şekillerde başlatılır. Aşağıda en yaygın yöntemler bulunmaktadır. Eksiksiz bir başvuru için bkz . Admin SDK'yı Başlatın .
  • 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()
    başlat

    SDK'yı başlatmak için mevcut bir uygulama varsayılan kimlik bilgisi de kullanılabilir.

    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()
  • Kendi sunucunuzda başlatın

    Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.

    Google Cloud konsolunda IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:

    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()
  • C++
    // Make sure the call to `Create()` happens some time before you call Firestore::GetInstance().
    App::Create();
    Firestore* db = Firestore::GetInstance();
    Node.js
    Cloud Firestore SDK, ortamınıza bağlı olarak farklı şekillerde başlatılır. Aşağıda en yaygın yöntemler bulunmaktadır. Eksiksiz bir başvuru için bkz . Admin SDK'yı Başlatın .
    • Cloud Functions'ta Başlat
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      initializeApp();
      
      const db = getFirestore();
      
    • Google Cloud'da başlat
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      initializeApp({
        credential: applicationDefault()
      });
      
      const db = getFirestore();
    • Kendi sunucunuzda başlatın

      Firebase Admin SDK'yı kendi sunucunuzda (veya başka herhangi bir Node.js ortamında) kullanmak için bir hizmet hesabı kullanın. Google Cloud konsolunda IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:

      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      tutucu25 l10n-yer
      const serviceAccount = require('./path/to/serviceAccountKey.json');
      
      initializeApp({
        credential: cert(serviceAccount)
      });
      
      const db = getFirestore();
      
    Gitmek
    Cloud Firestore SDK, ortamınıza bağlı olarak farklı şekillerde başlatılır. Aşağıda en yaygın yöntemler bulunmaktadır. Eksiksiz bir başvuru için bkz . Admin SDK'yı Başlatın .
  • 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()
    
    başlat
  • Kendi sunucunuzda başlatın

    Firebase Admin SDK'yı kendi sunucunuzda kullanmak için bir hizmet hesabı kullanın.

    Google Cloud konsolunda IAM ve yönetici > Hizmet hesapları'na gidin. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından, SDK'yı başlatmak için dosyayı kullanın:

    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

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    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);
        }
    }
    Birlik
    using Firebase.Firestore;
    using Firebase.Extensions;
    tutucu30 l10n-yer
    FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
    C#

    C#

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    FirestoreDb db = FirestoreDb.Create(project);
    Console.WriteLine("Created Cloud Firestore client with project ID: {0}", project);
    Yakut
    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."

    Bir belge ayarla

    Tek bir belge oluşturmak veya üzerine yazmak için aşağıdaki dile özgü set() yöntemlerini kullanın:

    Web version 9

    setDoc() yöntemini kullanın:

    import { doc, setDoc } from "firebase/firestore"; 
    
    // Add a new document in collection "cities"
    await setDoc(doc(db, "cities", "LA"), {
      name: "Los Angeles",
      state: "CA",
      country: "USA"
    });

    Web version 8

    set() yöntemini kullanın:

    // Add a new document in collection "cities"
    db.collection("cities").doc("LA").set({
        name: "Los Angeles",
        state: "CA",
        country: "USA"
    })
    .then(() => {
        console.log("Document successfully written!");
    })
    .catch((error) => {
        console.error("Error writing document: ", error);
    });
    Süratli

    setData() yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Add a new document in collection "cities"
    db.collection("cities").document("LA").setData([
        "name": "Los Angeles",
        "state": "CA",
        "country": "USA"
    ]) { err in
        if let err = err {
            print("Error writing document: \(err)")
        } else {
            print("Document successfully written!")
        }
    }
    Amaç-C

    setData: yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Add a new document in collection "cities"
    [[[self.db collectionWithPath:@"cities"] documentWithPath:@"LA"] setData:@{
      @"name": @"Los Angeles",
      @"state": @"CA",
      @"country": @"USA"
    } completion:^(NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error writing document: %@", error);
      } else {
        NSLog(@"Document successfully written!");
      }
    }];

    Kotlin+KTX

    set() yöntemini kullanın:

    val city = hashMapOf(
            "name" to "Los Angeles",
            "state" to "CA",
            "country" to "USA"
    )
    
    db.collection("cities").document("LA")
            .set(city)
            .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully written!") }
            .addOnFailureListener { e -> Log.w(TAG, "Error writing document", e) }

    Java

    set() yöntemini kullanın:

    Map<String, Object> city = new HashMap<>();
    city.put("name", "Los Angeles");
    city.put("state", "CA");
    city.put("country", "USA");
    
    db.collection("cities").document("LA")
            .set(city)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Log.d(TAG, "DocumentSnapshot successfully written!");
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error writing document", e);
                }
            });
    

    Dart

    set() yöntemini kullanın:

    final city = <String, String>{
      "name": "Los Angeles",
      "state": "CA",
      "country": "USA"
    };
    
    db
        .collection("cities")
        .doc("LA")
        .set(city)
        .onError((e, _) => print("Error writing document: $e"));
    java

    set() yöntemini kullanın:

    // Create a Map to store the data we want to set
    Map<String, Object> docData = new HashMap<>();
    docData.put("name", "Los Angeles");
    docData.put("state", "CA");
    docData.put("country", "USA");
    docData.put("regions", Arrays.asList("west_coast", "socal"));
    // Add a new document (asynchronously) in collection "cities" with id "LA"
    ApiFuture<WriteResult> future = db.collection("cities").document("LA").set(docData);
    // ...
    // future.get() blocks on response
    System.out.println("Update time : " + future.get().getUpdateTime());
    Piton

    set() yöntemini kullanın:

    data = {
        u'name': u'Los Angeles',
        u'state': u'CA',
        u'country': u'USA'
    }
    
    # Add a new doc in collection 'cities' with ID 'LA'
    db.collection(u'cities').document(u'LA').set(data)

    Python

    set() yöntemini kullanın:

    data = {"name": "Los Angeles", "state": "CA", "country": "USA"}
    
    # Add a new doc in collection 'cities' with ID 'LA'
    await db.collection("cities").document("LA").set(data)
    C++

    Set() yöntemini kullanın:

    // Add a new document in collection 'cities'
    db->Collection("cities")
        .Document("LA")
        .Set({{"name", FieldValue::String("Los Angeles")},
              {"state", FieldValue::String("CA")},
              {"country", FieldValue::String("USA")}})
        .OnCompletion([](const Future<void>& future) {
          if (future.error() == Error::kErrorOk) {
            std::cout << "DocumentSnapshot successfully written!" << std::endl;
          } else {
            std::cout << "Error writing document: " << future.error_message()
                      << std::endl;
          }
        });
    Node.js

    set() yöntemini kullanın:

    const data = {
      name: 'Los Angeles',
      state: 'CA',
      country: 'USA'
    };
    
    // Add a new document in collection "cities" with ID 'LA'
    const res = await db.collection('cities').doc('LA').set(data);
    Gitmek

    Set() yöntemini kullanın:

    _, err := client.Collection("cities").Doc("LA").Set(ctx, map[string]interface{}{
    	"name":    "Los Angeles",
    	"state":   "CA",
    	"country": "USA",
    })
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    set() yöntemini kullanın:

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $data = [
        'name' => 'Los Angeles',
        'state' => 'CA',
        'country' => 'USA'
    ];
    $db->collection('samples/php/cities')->document('LA')->set($data);
    Birlik

    SetAsync() yöntemini kullanın:

    DocumentReference docRef = db.Collection("cities").Document("LA");
    Dictionary<string, object> city = new Dictionary<string, object>
    {
    	{ "Name", "Los Angeles" },
    	{ "State", "CA" },
    	{ "Country", "USA" }
    };
    docRef.SetAsync(city).ContinueWithOnMainThread(task => {
    	Debug.Log("Added data to the LA document in the cities collection.");
    });
    C#

    SetAsync() yöntemini kullanın:

    DocumentReference docRef = db.Collection("cities").Document("LA");
    Dictionary<string, object> city = new Dictionary<string, object>
    {
        { "name", "Los Angeles" },
        { "state", "CA" },
        { "country", "USA" }
    };
    await docRef.SetAsync(city);
    Yakut

    set() yöntemini kullanın:

    city_ref = firestore.doc "#{collection_path}/LA"
    
    data = {
      name:    "Los Angeles",
      state:   "CA",
      country: "USA"
    }
    
    city_ref.set data

    Belge yoksa, oluşturulur. Belge mevcutsa, verilerin mevcut belgeyle aşağıdaki şekilde birleştirilmesini belirtmediğiniz sürece içeriğinin üzerine yeni sağlanan veriler yazılacaktır:

    Web version 9

    import { doc, setDoc } from "firebase/firestore"; 
    
    const cityRef = doc(db, 'cities', 'BJ');
    setDoc(cityRef, { capital: true }, { merge: true });

    Web version 8

    var cityRef = db.collection('cities').doc('BJ');
    
    var setWithMerge = cityRef.set({
        capital: true
    }, { merge: true });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Update one field, creating the document if it does not exist.
    db.collection("cities").document("BJ").setData([ "capital": true ], merge: true)
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Write to the document reference, merging data with existing
    // if the document already exists
    [[[self.db collectionWithPath:@"cities"] documentWithPath:@"BJ"]
         setData:@{ @"capital": @YES }
         merge:YES
         completion:^(NSError * _Nullable error) {
           // ...
         }];

    Kotlin+KTX

    // Update one field, creating the document if it does not already exist.
    val data = hashMapOf("capital" to true)
    
    db.collection("cities").document("BJ")
            .set(data, SetOptions.merge())
    

    Java

    // Update one field, creating the document if it does not already exist.
    Map<String, Object> data = new HashMap<>();
    data.put("capital", true);
    
    db.collection("cities").document("BJ")
            .set(data, SetOptions.merge());
    

    Dart

    // Update one field, creating the document if it does not already exist.
    final data = {"capital": true};
    
    db.collection("cities").doc("BJ").set(data, SetOptions(merge: true));
    java
    // asynchronously update doc, create the document if missing
    Map<String, Object> update = new HashMap<>();
    update.put("capital", true);
    
    ApiFuture<WriteResult> writeResult =
        db.collection("cities").document("BJ").set(update, SetOptions.merge());
    // ...
    System.out.println("Update time : " + writeResult.get().getUpdateTime());
    Piton
    city_ref = db.collection(u'cities').document(u'BJ')
    
    city_ref.set({
        u'capital': True
    }, merge=True)

    Python

    city_ref = db.collection("cities").document("BJ")
    
    await city_ref.set({"capital": True}, merge=True)
    C++
    db->Collection("cities").Document("BJ").Set(
        {{"capital", FieldValue::Boolean(true)}}, SetOptions::Merge());
    Node.js
    const cityRef = db.collection('cities').doc('BJ');
    
    const res = await cityRef.set({
      capital: true
    }, { merge: true });
    Gitmek
    _, err := client.Collection("cities").Doc("BJ").Set(ctx, map[string]interface{}{
    	"capital": true,
    }, firestore.MergeAll)
    
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $cityRef = $db->collection('samples/php/cities')->document('BJ');
    $cityRef->set([
        'capital' => true
    ], ['merge' => true]);
    Birlik
    DocumentReference docRef = db.Collection("cities").Document("LA");
    Dictionary<string, object> update = new Dictionary<string, object>
    {
    	{ "capital", false }
    };
    docRef.SetAsync(update, SetOptions.MergeAll);
    C#
    DocumentReference docRef = db.Collection("cities").Document("LA");
    Dictionary<string, object> update = new Dictionary<string, object>
    {
        { "capital", false }
    };
    await docRef.SetAsync(update, SetOptions.MergeAll);
    Yakut
    city_ref = firestore.doc "#{collection_path}/LA"
    city_ref.set({ capital: false }, merge: true)

    Belgenin var olup olmadığından emin değilseniz, tüm belgelerin üzerine yazılmasını önlemek için yeni verileri herhangi bir mevcut belgeyle birleştirme seçeneğini geçin. Harita içeren belgeler için, boş bir harita içeren bir alan içeren bir küme belirtmenin, hedef belgenin harita alanının üzerine yazılacağını unutmayın.

    Veri tipleri

    Cloud Firestore, bir belgenin içine dizeler, mantıksal değerler, sayılar, tarihler, boş ve iç içe geçmiş diziler ve nesneler dahil olmak üzere çeşitli veri türlerini yazmanıza olanak tanır. Cloud Firestore, kodunuzda ne tür bir sayı kullanırsanız kullanın, sayıları her zaman çift olarak depolar.

    Web version 9

    import { doc, setDoc, Timestamp } from "firebase/firestore"; 
    
    const docData = {
        stringExample: "Hello world!",
        booleanExample: true,
        numberExample: 3.14159265,
        dateExample: Timestamp.fromDate(new Date("December 10, 1815")),
        arrayExample: [5, true, "hello"],
        nullExample: null,
        objectExample: {
            a: 5,
            b: {
                nested: "foo"
            }
        }
    };
    await setDoc(doc(db, "data", "one"), docData);

    Web version 8

    var docData = {
        stringExample: "Hello world!",
        booleanExample: true,
        numberExample: 3.14159265,
        dateExample: firebase.firestore.Timestamp.fromDate(new Date("December 10, 1815")),
        arrayExample: [5, true, "hello"],
        nullExample: null,
        objectExample: {
            a: 5,
            b: {
                nested: "foo"
            }
        }
    };
    db.collection("data").doc("one").set(docData).then(() => {
        console.log("Document successfully written!");
    });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let docData: [String: Any] = [
        "stringExample": "Hello world!",
        "booleanExample": true,
        "numberExample": 3.14159265,
        "dateExample": Timestamp(date: Date()),
        "arrayExample": [5, true, "hello"],
        "nullExample": NSNull(),
        "objectExample": [
            "a": 5,
            "b": [
                "nested": "foo"
            ]
        ]
    ]
    db.collection("data").document("one").setData(docData) { err in
        if let err = err {
            print("Error writing document: \(err)")
        } else {
            print("Document successfully written!")
        }
    }
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    NSDictionary *docData = @{
      @"stringExample": @"Hello world!",
      @"booleanExample": @YES,
      @"numberExample": @3.14,
      @"dateExample": [FIRTimestamp timestampWithDate:[NSDate date]],
      @"arrayExample": @[@5, @YES, @"hello"],
      @"nullExample": [NSNull null],
      @"objectExample": @{
        @"a": @5,
        @"b": @{
          @"nested": @"foo"
        }
      }
    };
    
    [[[self.db collectionWithPath:@"data"] documentWithPath:@"one"] setData:docData
        completion:^(NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Error writing document: %@", error);
          } else {
            NSLog(@"Document successfully written!");
          }
        }];

    Kotlin+KTX

    val docData = hashMapOf(
            "stringExample" to "Hello world!",
            "booleanExample" to true,
            "numberExample" to 3.14159265,
            "dateExample" to Timestamp(Date()),
            "listExample" to arrayListOf(1, 2, 3),
            "nullExample" to null
    )
    
    val nestedData = hashMapOf(
            "a" to 5,
            "b" to true
    )
    
    docData["objectExample"] = nestedData
    
    db.collection("data").document("one")
            .set(docData)
            .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully written!") }
            .addOnFailureListener { e -> Log.w(TAG, "Error writing document", e) }
    

    Java

    Map<String, Object> docData = new HashMap<>();
    docData.put("stringExample", "Hello world!");
    docData.put("booleanExample", true);
    docData.put("numberExample", 3.14159265);
    docData.put("dateExample", new Timestamp(new Date()));
    docData.put("listExample", Arrays.asList(1, 2, 3));
    docData.put("nullExample", null);
    
    Map<String, Object> nestedData = new HashMap<>();
    nestedData.put("a", 5);
    nestedData.put("b", true);
    
    docData.put("objectExample", nestedData);
    
    db.collection("data").document("one")
            .set(docData)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Log.d(TAG, "DocumentSnapshot successfully written!");
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error writing document", e);
                }
            });
    

    Dart

    final docData = {
      "stringExample": "Hello world!",
      "booleanExample": true,
      "numberExample": 3.14159265,
      "dateExample": Timestamp.now(),
      "listExample": [1, 2, 3],
      "nullExample": null
    };
    
    final nestedData = {
      "a": 5,
      "b": true,
    };
    
    docData["objectExample"] = nestedData;
    
    db
        .collection("data")
        .doc("one")
        .set(docData)
        .onError((e, _) => print("Error writing document: $e"));
    java
    Map<String, Object> docData = new HashMap<>();
    docData.put("stringExample", "Hello, World");
    docData.put("booleanExample", false);
    docData.put("numberExample", 3.14159265);
    docData.put("nullExample", null);
    
    ArrayList<Object> arrayExample = new ArrayList<>();
    Collections.addAll(arrayExample, 5L, true, "hello");
    docData.put("arrayExample", arrayExample);
    
    Map<String, Object> objectExample = new HashMap<>();
    objectExample.put("a", 5L);
    objectExample.put("b", true);
    
    docData.put("objectExample", objectExample);
    
    ApiFuture<WriteResult> future = db.collection("data").document("one").set(docData);
    System.out.println("Update time : " + future.get().getUpdateTime());
    Piton
    data = {
        u'stringExample': u'Hello, World!',
        u'booleanExample': True,
        u'numberExample': 3.14159265,
        u'dateExample': datetime.datetime.now(tz=datetime.timezone.utc),
        u'arrayExample': [5, True, u'hello'],
        u'nullExample': None,
        u'objectExample': {
            u'a': 5,
            u'b': True
        }
    }
    
    db.collection(u'data').document(u'one').set(data)

    Python

    data = {
        "stringExample": "Hello, World!",
        "booleanExample": True,
        "numberExample": 3.14159265,
        "dateExample": datetime.datetime.now(tz=datetime.timezone.utc),
        "arrayExample": [5, True, "hello"],
        "nullExample": None,
        "objectExample": {"a": 5, "b": True},
    }
    
    await db.collection("data").document("one").set(data)
    C++
    MapFieldValue doc_data{
        {"stringExample", FieldValue::String("Hello world!")},
        {"booleanExample", FieldValue::Boolean(true)},
        {"numberExample", FieldValue::Double(3.14159265)},
        {"dateExample", FieldValue::Timestamp(Timestamp::Now())},
        {"arrayExample", FieldValue::Array({FieldValue::Integer(1),
                                            FieldValue::Integer(2),
                                            FieldValue::Integer(3)})},
        {"nullExample", FieldValue::Null()},
        {"objectExample",
         FieldValue::Map(
             {{"a", FieldValue::Integer(5)},
              {"b", FieldValue::Map(
                        {{"nested", FieldValue::String("foo")}})}})},
    };
    
    db->Collection("data").Document("one").Set(doc_data).OnCompletion(
        [](const Future<void>& future) {
          if (future.error() == Error::kErrorOk) {
            std::cout << "DocumentSnapshot successfully written!" << std::endl;
          } else {
            std::cout << "Error writing document: " << future.error_message()
                      << std::endl;
          }
        });
    Node.js
    const data = {
      stringExample: 'Hello, World!',
      booleanExample: true,
      numberExample: 3.14159265,
      dateExample: Timestamp.fromDate(new Date('December 10, 1815')),
      arrayExample: [5, true, 'hello'],
      nullExample: null,
      objectExample: {
        a: 5,
        b: true
      }
    };
    
    const res = await db.collection('data').doc('one').set(data);
    Gitmek
    doc := make(map[string]interface{})
    doc["stringExample"] = "Hello world!"
    doc["booleanExample"] = true
    doc["numberExample"] = 3.14159265
    doc["dateExample"] = time.Now()
    doc["arrayExample"] = []interface{}{5, true, "hello"}
    doc["nullExample"] = nil
    doc["objectExample"] = map[string]interface{}{
    	"a": 5,
    	"b": true,
    }
    
    _, err := client.Collection("data").Doc("one").Set(ctx, doc)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $data = [
        'stringExample' => 'Hello World',
        'booleanExample' => true,
        'numberExample' => 3.14159265,
        'dateExample' => new Timestamp(new DateTime()),
        'arrayExample' => array(5, true, 'hello'),
        'nullExample' => null,
        'objectExample' => ['a' => 5, 'b' => true],
        'documentReferenceExample' => $db->collection('samples/php/data')->document('two'),
    ];
    $db->collection('samples/php/data')->document('one')->set($data);
    printf('Set multiple data-type data for the one document in the data collection.' . PHP_EOL);
    Birlik
    DocumentReference docRef = db.Collection("data").Document("one");
    Dictionary<string, object> docData = new Dictionary<string, object>
    {
    	{ "stringExample", "Hello World" },
    	{ "booleanExample", false },
    	{ "numberExample", 3.14159265 },
    	{ "nullExample", null },
    	{ "arrayExample", new List<object>() { 5, true, "Hello" } },
    	{ "objectExample", new Dictionary<string, object>
    		{
    			{ "a", 5 },
    			{ "b", true },
    		}
    	},
    };
    
    docRef.SetAsync(docData);
    C#
    DocumentReference docRef = db.Collection("data").Document("one");
    Dictionary<string, object> docData = new Dictionary<string, object>
    {
        { "stringExample", "Hello World" },
        { "booleanExample", false },
        { "numberExample", 3.14159265 },
        { "nullExample", null },
    };
    
    ArrayList arrayExample = new ArrayList();
    arrayExample.Add(5);
    arrayExample.Add(true);
    arrayExample.Add("Hello");
    docData.Add("arrayExample", arrayExample);
    
    Dictionary<string, object> objectExample = new Dictionary<string, object>
    {
        { "a", 5 },
        { "b", true },
    };
    docData.Add("objectExample", objectExample);
    
    await docRef.SetAsync(docData);
    Yakut
    doc_ref = firestore.doc "#{collection_path}/one"
    
    data = {
      stringExample:  "Hello, World!",
      booleanExample: true,
      numberExample:  3.14159265,
      dateExample:    DateTime.now,
      arrayExample:   [5, true, "hello"],
      nullExample:    nil,
      objectExample:  {
        a: 5,
        b: true
      }
    }
    
    doc_ref.set data

    Özel nesneler

    Belgelerinizi temsil etmek için Map veya Dictionary nesnelerini kullanmak genellikle pek uygun değildir, bu nedenle Cloud Firestore, özel sınıflarla belge yazmayı destekler. Cloud Firestore, nesneleri desteklenen veri türlerine dönüştürür.

    Özel sınıfları kullanarak, ilk örneği gösterildiği gibi yeniden yazabilirsiniz:

    Web version 9

    class City {
        constructor (name, state, country ) {
            this.name = name;
            this.state = state;
            this.country = country;
        }
        toString() {
            return this.name + ', ' + this.state + ', ' + this.country;
        }
    }
    
    // Firestore data converter
    const cityConverter = {
        toFirestore: (city) => {
            return {
                name: city.name,
                state: city.state,
                country: city.country
                };
        },
        fromFirestore: (snapshot, options) => {
            const data = snapshot.data(options);
            return new City(data.name, data.state, data.country);
        }
    };

    Web version 8

    class City {
        constructor (name, state, country ) {
            this.name = name;
            this.state = state;
            this.country = country;
        }
        toString() {
            return this.name + ', ' + this.state + ', ' + this.country;
        }
    }
    
    // Firestore data converter
    var cityConverter = {
        toFirestore: function(city) {
            return {
                name: city.name,
                state: city.state,
                country: city.country
                };
        },
        fromFirestore: function(snapshot, options){
            const data = snapshot.data(options);
            return new City(data.name, data.state, data.country);
        }
    };
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    public struct City: Codable {
    
        let name: String
        let state: String?
        let country: String?
        let isCapital: Bool?
        let population: Int64?
    
        enum CodingKeys: String, CodingKey {
            case name
            case state
            case country
            case isCapital = "capital"
            case population
        }
    
    }
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // This isn't supported in Objective-C.
      

    Kotlin+KTX

    data class City(
        val name: String? = null,
        val state: String? = null,
        val country: String? = null,
        @field:JvmField // use this annotation if your Boolean field is prefixed with 'is'
        val isCapital: Boolean? = null,
        val population: Long? = null,
        val regions: List<String>? = null
    )
    

    Java

    Her özel sınıfın, bağımsız değişken almayan bir genel oluşturucusu olmalıdır. Ek olarak, sınıf her özellik için bir genel alıcı içermelidir.

    public class City {
    
    
        private String name;
        private String state;
        private String country;
        private boolean capital;
        private long population;
        private List<String> regions;
    
        public City() {}
    
        public City(String name, String state, String country, boolean capital, long population, List<String> regions) {
            // ...
        }
    
        public String getName() {
            return name;
        }
    
        public String getState() {
            return state;
        }
    
        public String getCountry() {
            return country;
        }
    
        public boolean isCapital() {
            return capital;
        }
    
        public long getPopulation() {
            return population;
        }
    
        public List<String> getRegions() {
            return regions;
        }
    
    }
    

    Dart

    class City {
      final String? name;
      final String? state;
      final String? country;
      final bool? capital;
      final int? population;
      final List<String>? regions;
    
      City({
        this.name,
        this.state,
        this.country,
        this.capital,
        this.population,
        this.regions,
      });
    
      factory City.fromFirestore(
        DocumentSnapshot<Map<String, dynamic>> snapshot,
        SnapshotOptions? options,
      ) {
        final data = snapshot.data();
        return City(
          name: data?['name'],
          state: data?['state'],
          country: data?['country'],
          capital: data?['capital'],
          population: data?['population'],
          regions:
              data?['regions'] is Iterable ? List.from(data?['regions']) : null,
        );
      }
    
      Map<String, dynamic> toFirestore() {
        return {
          if (name != null) "name": name,
          if (state != null) "state": state,
          if (country != null) "country": country,
          if (capital != null) "capital": capital,
          if (population != null) "population": population,
          if (regions != null) "regions": regions,
        };
      }
    }
    java
    public City() {
      // Must have a public no-argument constructor
    }
    
    // Initialize all fields of a city
    public City(
        String name,
        String state,
        String country,
        Boolean capital,
        Long population,
        List<String> regions) {
      this.name = name;
      this.state = state;
      this.country = country;
      this.capital = capital;
      this.population = population;
      this.regions = regions;
    }
    Piton
    class City(object):
        def __init__(self, name, state, country, capital=False, population=0,
                     regions=[]):
            self.name = name
            self.state = state
            self.country = country
            self.capital = capital
            self.population = population
            self.regions = regions
    
        @staticmethod
        def from_dict(source):
            # ...
    
        def to_dict(self):
            # ...
    
        def __repr__(self):
            return (
                f'City(\
                    name={self.name}, \
                    country={self.country}, \
                    population={self.population}, \
                    capital={self.capital}, \
                    regions={self.regions}\
                )'
            )

    Python

    class City(object):
        def __init__(self, name, state, country, capital=False, population=0, regions=[]):
            self.name = name
            self.state = state
            self.country = country
            self.capital = capital
            self.population = population
            self.regions = regions
    
        @staticmethod
        def from_dict(source):
            # ...
    
        def to_dict(self):
            # ...
    
        def __repr__(self):
            return f"City(\
                    name={self.name}, \
                    country={self.country}, \
                    population={self.population}, \
                    capital={self.capital}, \
                    regions={self.regions}\
                )"
    
    C++
    // This is not yet supported.
    
    Node.js
    // Node.js uses JavaScript objects
    
    Gitmek
    
    // City represents a city.
    type City struct {
    	Name       string   `firestore:"name,omitempty"`
    	State      string   `firestore:"state,omitempty"`
    	Country    string   `firestore:"country,omitempty"`
    	Capital    bool     `firestore:"capital,omitempty"`
    	Population int64    `firestore:"population,omitempty"`
    	Regions    []string `firestore:"regions,omitempty"`
    }
    
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    class City
    {
        /* var string */
        public $name;
        /* var string */
        public $state;
        /* var string */
        public $country;
        /* var bool */
        public $capital;
        /* var int */
        public $population;
        /* var array */
        public $regions;
    
        public function __construct(
            string $name,
            string $state,
            string $country,
            bool $capital = false,
            int $population = 0,
            array $regions = []
        ) {
            $this->name = $name;
            $this->state = $state;
            $this->country = $country;
            $this->capital = $capital;
            $this->population = $population;
            $this->regions = $regions;
        }
    
        public static function fromArray(array $source): City
        {
            // implementation of fromArray is excluded for brevity
            # ...
        }
    
        public function toArray(): array
        {
            // implementation of toArray is excluded for brevity
            # ...
        }
    
        public function __toString()
        {
            // implementation of __toString is excluded for brevity
            # ...
        }
    }
    
    Birlik
    [FirestoreData]
    public class City
    {
    	[FirestoreProperty]
    	public string Name { get; set; }
    
    	[FirestoreProperty]
    	public string State { get; set; }
    
    	[FirestoreProperty]
    	public string Country { get; set; }
    
    	[FirestoreProperty]
    	public bool Capital { get; set; }
    
    	[FirestoreProperty]
    	public long Population { get; set; }
    }
    C#
    [FirestoreData]
    public class City
    {
        [FirestoreProperty]
        public string Name { get; set; }
    
        [FirestoreProperty]
        public string State { get; set; }
    
        [FirestoreProperty]
        public string Country { get; set; }
    
        [FirestoreProperty]
        public bool Capital { get; set; }
    
        [FirestoreProperty]
        public long Population { get; set; }
    }
    Yakut
    // This isn't supported in Ruby
    

    Web version 9

    import { doc, setDoc } from "firebase/firestore"; 
    
    // Set with cityConverter
    const ref = doc(db, "cities", "LA").withConverter(cityConverter);
    await setDoc(ref, new City("Los Angeles", "CA", "USA"));

    Web version 8

    // Set with cityConverter
    db.collection("cities").doc("LA")
      .withConverter(cityConverter)
      .set(new City("Los Angeles", "CA", "USA"));
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let city = City(name: "Los Angeles",
                    state: "CA",
                    country: "USA",
                    isCapital: false,
                    population: 5000000)
    
    do {
        try db.collection("cities").document("LA").setData(from: city)
    } catch let error {
        print("Error writing city to Firestore: \(error)")
    }
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // This isn't supported in Objective-C.
      

    Kotlin+KTX

    val city = City("Los Angeles", "CA", "USA",
            false, 5000000L, listOf("west_coast", "socal"))
    db.collection("cities").document("LA").set(city)
    

    Java

    City city = new City("Los Angeles", "CA", "USA",
            false, 5000000L, Arrays.asList("west_coast", "sorcal"));
    db.collection("cities").document("LA").set(city);
    

    Dart

    final city = City(
      name: "Los Angeles",
      state: "CA",
      country: "USA",
      capital: false,
      population: 5000000,
      regions: ["west_coast", "socal"],
    );
    final docRef = db
        .collection("cities")
        .withConverter(
          fromFirestore: City.fromFirestore,
          toFirestore: (City city, options) => city.toFirestore(),
        )
        .doc("LA");
    await docRef.set(city);
    java
    City city =
        new City("Los Angeles", "CA", "USA", false, 3900000L, Arrays.asList("west_coast", "socal"));
    ApiFuture<WriteResult> future = db.collection("cities").document("LA").set(city);
    // block on response if required
    System.out.println("Update time : " + future.get().getUpdateTime());
    Piton
    city = City(name=u'Los Angeles', state=u'CA', country=u'USA')
    db.collection(u'cities').document(u'LA').set(city.to_dict())

    Python

    city = City(name="Los Angeles", state="CA", country="USA")
    await db.collection("cities").document("LA").set(city.to_dict())
    C++
    // This is not yet supported.
    
    Node.js
    // Node.js uses JavaScript objects
    
    Gitmek
    city := City{
    	Name:    "Los Angeles",
    	Country: "USA",
    }
    _, err := client.Collection("cities").Doc("LA").Set(ctx, city)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP
    // This isn't supported in PHP.
    
    Birlik
    DocumentReference docRef = db.Collection("cities").Document("LA");
    City city = new City
    {
    	Name = "Los Angeles",
    	State = "CA",
    	Country = "USA",
    	Capital = false,
    	Population = 3900000L
    };
    docRef.SetAsync(city);
    C#
    DocumentReference docRef = db.Collection("cities").Document("LA");
    City city = new City
    {
        Name = "Los Angeles",
        State = "CA",
        Country = "USA",
        Capital = false,
        Population = 3900000L
    };
    await docRef.SetAsync(city);
    Yakut
    // This isn't supported in Ruby.
    

    belge ekle

    Bir belge oluşturmak için set() kullandığınızda, oluşturulacak belge için bir kimlik belirtmeniz gerekir. Örneğin:

    Web version 9

    import { doc, setDoc } from "firebase/firestore"; 
    
    await setDoc(doc(db, "cities", "new-city-id"), data);

    Web version 8

    db.collection("cities").doc("new-city-id").set(data);
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    db.collection("cities").document("new-city-id").setData(data)
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    [[[self.db collectionWithPath:@"cities"] documentWithPath:@"new-city-id"]
        setData:data];

    Kotlin+KTX

    db.collection("cities").document("new-city-id").set(data)
    

    Java

    db.collection("cities").document("new-city-id").set(data);
    

    Dart

    db.collection("cities").doc("new-city-id").set({"name": "Chicago"});
    java
    db.collection("cities").document("new-city-id").set(data);
    Piton
    db.collection(u'cities').document(u'new-city-id').set(data)

    Python

    await db.collection("cities").document("new-city-id").set(data)
    C++
    db->Collection("cities").Document("SF").Set({/*some data*/});
    Node.js
    await db.collection('cities').doc('new-city-id').set(data);
    Gitmek
    _, err := client.Collection("cities").Doc("new-city-id").Set(ctx, data)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $db->collection('samples/php/cities')->document('new-city-id')->set($data);
    Birlik
    db.Collection("cities").Document("new-city-id").SetAsync(city);
    C#
    await db.Collection("cities").Document("new-city-id").SetAsync(city);
    Yakut
    city_ref = firestore.doc "#{collection_path}/new-city-id"
    city_ref.set data

    Ancak bazen belge için anlamlı bir kimlik olmayabilir ve Cloud Firestore'un sizin için otomatik olarak bir kimlik oluşturmasına izin vermek daha uygundur. Bunu, aşağıdaki dile özgü add() yöntemlerini çağırarak yapabilirsiniz:

    Web version 9

    addDoc() yöntemini kullanın:

    import { collection, addDoc } from "firebase/firestore"; 
    
    // Add a new document with a generated id.
    const docRef = await addDoc(collection(db, "cities"), {
      name: "Tokyo",
      country: "Japan"
    });
    console.log("Document written with ID: ", docRef.id);

    Web version 8

    add() yöntemini kullanın:

    // Add a new document with a generated id.
    db.collection("cities").add({
        name: "Tokyo",
        country: "Japan"
    })
    .then((docRef) => {
        console.log("Document written with ID: ", docRef.id);
    })
    .catch((error) => {
        console.error("Error adding document: ", error);
    });
    Süratli

    addDocument() yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Add a new document with a generated id.
    var ref: DocumentReference? = nil
    ref = db.collection("cities").addDocument(data: [
        "name": "Tokyo",
        "country": "Japan"
    ]) { err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            print("Document added with ID: \(ref!.documentID)")
        }
    }
    Amaç-C

    addDocumentWithData: yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Add a new document with a generated id.
    __block FIRDocumentReference *ref =
        [[self.db collectionWithPath:@"cities"] addDocumentWithData:@{
          @"name": @"Tokyo",
          @"country": @"Japan"
        } completion:^(NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Error adding document: %@", error);
          } else {
            NSLog(@"Document added with ID: %@", ref.documentID);
          }
        }];

    Kotlin+KTX

    add() yöntemini kullanın:

    // Add a new document with a generated id.
    val data = hashMapOf(
            "name" to "Tokyo",
            "country" to "Japan"
    )
    
    db.collection("cities")
        .add(data)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot written with ID: ${documentReference.id}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }
    

    Java

    add() yöntemini kullanın:

    // Add a new document with a generated id.
    Map<String, Object> data = new HashMap<>();
    data.put("name", "Tokyo");
    data.put("country", "Japan");
    
    db.collection("cities")
            .add(data)
            .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                @Override
                public void onSuccess(DocumentReference documentReference) {
                    Log.d(TAG, "DocumentSnapshot written with ID: " + documentReference.getId());
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error adding document", e);
                }
            });
    

    Dart

    add() yöntemini kullanın:

    // Add a new document with a generated id.
    final data = {"name": "Tokyo", "country": "Japan"};
    
    db.collection("cities").add(data).then((documentSnapshot) =>
        print("Added Data with ID: ${documentSnapshot.id}"));
    java

    add() yöntemini kullanın:

    // Add document data with auto-generated id.
    Map<String, Object> data = new HashMap<>();
    data.put("name", "Tokyo");
    data.put("country", "Japan");
    ApiFuture<DocumentReference> addedDocRef = db.collection("cities").add(data);
    System.out.println("Added document with ID: " + addedDocRef.get().getId());
    Piton

    add() yöntemini kullanın:

    city = {
        u'name': u'Tokyo',
        u'country': u'Japan'
    }
    update_time, city_ref = db.collection(u'cities').add(city)
    print(f'Added document with id {city_ref.id}')

    Python

    add() yöntemini kullanın:

    city = City(name="Tokyo", state=None, country="Japan")
    await db.collection("cities").add(city.to_dict())
    C++

    Add() yöntemini kullanın:

    db->Collection("cities").Add({/*some data*/});
    Node.js

    add() yöntemini kullanın:

    // Add a new document with a generated id.
    const res = await db.collection('cities').add({
      name: 'Tokyo',
      country: 'Japan'
    });
    
    console.log('Added document with ID: ', res.id);
    Gitmek

    Add() yöntemini kullanın:

    _, _, err := client.Collection("cities").Add(ctx, map[string]interface{}{
    	"name":    "Tokyo",
    	"country": "Japan",
    })
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    add() yöntemini kullanın:

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $data = [
        'name' => 'Tokyo',
        'country' => 'Japan'
    ];
    $addedDocRef = $db->collection('samples/php/cities')->add($data);
    printf('Added document with ID: %s' . PHP_EOL, $addedDocRef->id());
    Birlik

    AddAsync() yöntemini kullanın:

    Dictionary<string, object> city = new Dictionary<string, object>
    {
    	{ "Name", "Tokyo" },
    	{ "Country", "Japan" }
    };
    db.Collection("cities").AddAsync(city).ContinueWithOnMainThread(task => {
    	DocumentReference addedDocRef = task.Result;
    	Debug.Log(String.Format("Added document with ID: {0}.", addedDocRef.Id));
    });
    C#

    AddAsync() yöntemini kullanın:

    Dictionary<string, object> city = new Dictionary<string, object>
    {
        { "Name", "Tokyo" },
        { "Country", "Japan" }
    };
    DocumentReference addedDocRef = await db.Collection("cities").AddAsync(city);
    Console.WriteLine("Added document with ID: {0}.", addedDocRef.Id);
    Yakut

    add() yöntemini kullanın:

    data = {
      name:    "Tokyo",
      country: "Japan"
    }
    
    cities_ref = firestore.col collection_path
    
    added_doc_ref = cities_ref.add data
    puts "Added document with ID: #{added_doc_ref.document_id}."

    Bazı durumlarda, otomatik oluşturulmuş bir kimlikle bir belge referansı oluşturmak ve ardından referansı daha sonra kullanmak yararlı olabilir. Bu kullanım durumu için doc() arayabilirsiniz:

    Web version 9

    import { collection, doc, setDoc } from "firebase/firestore"; 
    
    // Add a new document with a generated id
    const newCityRef = doc(collection(db, "cities"));
    
    // later...
    await setDoc(newCityRef, data);

    Web version 8

    // Add a new document with a generated id.
    var newCityRef = db.collection("cities").doc();
    
    // later...
    newCityRef.set(data);
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let newCityRef = db.collection("cities").document()
    
    // later...
    newCityRef.setData([
        // ...
    ])
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    FIRDocumentReference *newCityRef = [[self.db collectionWithPath:@"cities"] documentWithAutoID];
    // later...
    [newCityRef setData:@{ /* ... */ }];

    Kotlin+KTX

    val data = HashMap<String, Any>()
    
    val newCityRef = db.collection("cities").document()
    
    // Later...
    newCityRef.set(data)
    

    Java

    Map<String, Object> data = new HashMap<>();
    
    DocumentReference newCityRef = db.collection("cities").document();
    
    // Later...
    newCityRef.set(data);
    

    Dart

    // Add a new document with a generated id.
    final data = <String, dynamic>{};
    
    final newCityRef = db.collection("cities").doc();
    
    // Later...
    newCityRef.set(data);
    
    java
    // Add document data after generating an id.
    DocumentReference addedDocRef = db.collection("cities").document();
    System.out.println("Added document with ID: " + addedDocRef.getId());
    
    // later...
    ApiFuture<WriteResult> writeResult = addedDocRef.set(data);
    Piton
    new_city_ref = db.collection(u'cities').document()
    
    # later...
    new_city_ref.set({
        # ...
    })

    Python

    new_city_ref = db.collection("cities").document()
    
    # later...
    await new_city_ref.set(
        {
            # ...
        }
    )
    C++
    DocumentReference new_city_ref = db->Collection("cities").Document();
    Node.js
    const newCityRef = db.collection('cities').doc();
    
    // Later...
    const res = await newCityRef.set({
      // ...
    });
    Gitmek
    ref := client.Collection("cities").NewDoc()
    
    // later...
    _, err := ref.Set(ctx, data)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $addedDocRef = $db->collection('samples/php/cities')->newDocument();
    printf('Added document with ID: %s' . PHP_EOL, $addedDocRef->id());
    $addedDocRef->set($data);
    Birlik
    DocumentReference addedDocRef = db.Collection("cities").Document();
    Debug.Log(String.Format("Added document with ID: {0}.", addedDocRef.Id));
    addedDocRef.SetAsync(city).ContinueWithOnMainThread(task => {
    	Debug.Log(String.Format(
    		"Added data to the {0} document in the cities collection.", addedDocRef.Id));
    });
    C#
    DocumentReference addedDocRef = db.Collection("cities").Document();
    Console.WriteLine("Added document with ID: {0}.", addedDocRef.Id);
    await addedDocRef.SetAsync(city);
    Yakut
    cities_ref = firestore.col collection_path
    
    added_doc_ref = cities_ref.doc
    puts "Added document with ID: #{added_doc_ref.document_id}."
    
    added_doc_ref.set data

    Perde arkasında, .add(...) ve .doc().set(...) tamamen eşdeğerdir, dolayısıyla hangisi daha uygunsa onu kullanabilirsiniz.

    Belge güncelleme

    Bir belgenin bazı alanlarını tüm belgenin üzerine yazmadan güncellemek için aşağıdaki dile özgü update() yöntemlerini kullanın:

    Web version 9

    updateDoc() yöntemini kullanın:

    import { doc, updateDoc } from "firebase/firestore";
    
    const washingtonRef = doc(db, "cities", "DC");
    
    // Set the "capital" field of the city 'DC'
    await updateDoc(washingtonRef, {
      capital: true
    });

    Web version 8

    update() yöntemini kullanın:

    var washingtonRef = db.collection("cities").doc("DC");
    
    // Set the "capital" field of the city 'DC'
    return washingtonRef.update({
        capital: true
    })
    .then(() => {
        console.log("Document successfully updated!");
    })
    .catch((error) => {
        // The document probably doesn't exist.
        console.error("Error updating document: ", error);
    });
    Süratli

    updateData() yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let washingtonRef = db.collection("cities").document("DC")
    
    // Set the "capital" field of the city 'DC'
    washingtonRef.updateData([
        "capital": true
    ]) { err in
        if let err = err {
            print("Error updating document: \(err)")
        } else {
            print("Document successfully updated")
        }
    }
    Amaç-C

    updateData: yöntemini kullanın:

    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    FIRDocumentReference *washingtonRef =
        [[self.db collectionWithPath:@"cities"] documentWithPath:@"DC"];
    // Set the "capital" field of the city
    [washingtonRef updateData:@{
      @"capital": @YES
    } completion:^(NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error updating document: %@", error);
      } else {
        NSLog(@"Document successfully updated");
      }
    }];

    Kotlin+KTX

    update() yöntemini kullanın:

    val washingtonRef = db.collection("cities").document("DC")
    
    // Set the "isCapital" field of the city 'DC'
    washingtonRef
            .update("capital", true)
            .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully updated!") }
            .addOnFailureListener { e -> Log.w(TAG, "Error updating document", e) }
    

    Java

    update() yöntemini kullanın:

    DocumentReference washingtonRef = db.collection("cities").document("DC");
    
    // Set the "isCapital" field of the city 'DC'
    washingtonRef
            .update("capital", true)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    Log.d(TAG, "DocumentSnapshot successfully updated!");
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error updating document", e);
                }
            });
    

    Dart

    update() yöntemini kullanın:

    final washingtonRef = db.collection("cites").doc("DC");
    washingtonRef.update({"capital": true}).then(
        (value) => print("DocumentSnapshot successfully updated!"),
        onError: (e) => print("Error updating document $e"));
    java

    update() yöntemini kullanın:

    // Update an existing document
    DocumentReference docRef = db.collection("cities").document("DC");
    
    // (async) Update one field
    ApiFuture<WriteResult> future = docRef.update("capital", true);
    
    // ...
    WriteResult result = future.get();
    System.out.println("Write result: " + result);
    Piton

    update() yöntemini kullanın:

    city_ref = db.collection(u'cities').document(u'DC')
    
    # Set the capital field
    city_ref.update({u'capital': True})

    Python

    update() yöntemini kullanın:

    city_ref = db.collection("cities").document("DC")
    
    # Set the capital field
    await city_ref.update({"capital": True})
    C++

    Update() yöntemini kullanın:

    DocumentReference washington_ref = db->Collection("cities").Document("DC");
    // Set the "capital" field of the city "DC".
    washington_ref.Update({{"capital", FieldValue::Boolean(true)}});
    Node.js

    update() yöntemini kullanın:

    const cityRef = db.collection('cities').doc('DC');
    
    // Set the 'capital' field of the city
    const res = await cityRef.update({capital: true});
    Gitmek

    Update() yöntemini kullanın:

    _, err = client.Collection("cities").Doc("DC").Update(ctx, []firestore.Update{
    	{
    		Path:  "capital",
    		Value: true,
    	},
    })
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    update() yöntemini kullanın:

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $cityRef = $db->collection('samples/php/cities')->document('DC');
    $cityRef->update([
        ['path' => 'capital', 'value' => true]
    ]);
    Birlik

    UpdateAsync() yöntemini kullanın:

    DocumentReference cityRef = db.Collection("cities").Document("new-city-id");
    Dictionary<string, object> updates = new Dictionary<string, object>
    {
    	{ "Capital", false }
    };
    
    cityRef.UpdateAsync(updates).ContinueWithOnMainThread(task => {
    	Debug.Log(
    		"Updated the Capital field of the new-city-id document in the cities collection.");
    });
    // You can also update a single field with: cityRef.UpdateAsync("Capital", false);
    C#

    UpdateAsync() yöntemini kullanın:

    DocumentReference cityRef = db.Collection("cities").Document("new-city-id");
    Dictionary<string, object> updates = new Dictionary<string, object>
    {
        { "Capital", false }
    };
    await cityRef.UpdateAsync(updates);
    
    // You can also update a single field with: await cityRef.UpdateAsync("Capital", false);
    Yakut

    update() yöntemini kullanın:

    city_ref = firestore.doc "#{collection_path}/DC"
    city_ref.update({ capital: true })

    Sunucu Zaman Damgası

    Belgenizdeki bir alanı, sunucunun güncellemeyi ne zaman aldığını izleyen bir sunucu zaman damgasına ayarlayabilirsiniz.

    Web version 9

    import { updateDoc, serverTimestamp } from "firebase/firestore";
    
    const docRef = doc(db, 'objects', 'some-id');
    
    // Update the timestamp field with the value from the server
    const updateTimestamp = await updateDoc(docRef, {
        timestamp: serverTimestamp()
    });

    Web version 8

    var docRef = db.collection('objects').doc('some-id');
    
    // Update the timestamp field with the value from the server
    var updateTimestamp = docRef.update({
        timestamp: firebase.firestore.FieldValue.serverTimestamp()
    });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    db.collection("objects").document("some-id").updateData([
        "lastUpdated": FieldValue.serverTimestamp(),
    ]) { err in
        if let err = err {
            print("Error updating document: \(err)")
        } else {
            print("Document successfully updated")
        }
    }
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    [[[self.db collectionWithPath:@"objects"] documentWithPath:@"some-id"] updateData:@{
      @"lastUpdated": [FIRFieldValue fieldValueForServerTimestamp]
    } completion:^(NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error updating document: %@", error);
      } else {
        NSLog(@"Document successfully updated");
      }
    }];

    Kotlin+KTX

    // If you're using custom Kotlin objects in Android, add an @ServerTimestamp
    // annotation to a Date field for your custom object classes. This indicates
    // that the Date field should be treated as a server timestamp by the object mapper.
    val docRef = db.collection("objects").document("some-id")
    
    // Update the timestamp field with the value from the server
    val updates = hashMapOf<String, Any>(
            "timestamp" to FieldValue.serverTimestamp()
    )
    
    docRef.update(updates).addOnCompleteListener { }
    

    Java

    // If you're using custom Java objects in Android, add an @ServerTimestamp
    // annotation to a Date field for your custom object classes. This indicates
    // that the Date field should be treated as a server timestamp by the object mapper.
    DocumentReference docRef = db.collection("objects").document("some-id");
    
    // Update the timestamp field with the value from the server
    Map<String,Object> updates = new HashMap<>();
    updates.put("timestamp", FieldValue.serverTimestamp());
    
    docRef.update(updates).addOnCompleteListener(new OnCompleteListener<Void>() {
        // ...
        // ...
    

    Dart

    final docRef = db.collection("objects").doc("some-id");
    final updates = <String, dynamic>{
      "timestamp": FieldValue.serverTimestamp(),
    };
    
    docRef.update(updates).then(
        (value) => print("DocumentSnapshot successfully updated!"),
        onError: (e) => print("Error updating document $e"));
    java
    DocumentReference docRef = db.collection("objects").document("some-id");
    // Update the timestamp field with the value from the server
    ApiFuture<WriteResult> writeResult = docRef.update("timestamp", FieldValue.serverTimestamp());
    System.out.println("Update time : " + writeResult.get());
    Piton
    city_ref = db.collection(u'objects').document(u'some-id')
    city_ref.update({
        u'timestamp': firestore.SERVER_TIMESTAMP
    })

    Python

    city_ref = db.collection("objects").document("some-id")
    await city_ref.update({"timestamp": firestore.SERVER_TIMESTAMP})
    C++
    DocumentReference doc_ref = db->Collection("objects").Document("some-id");
    doc_ref.Update({{"timestamp", FieldValue::ServerTimestamp()}})
        .OnCompletion([](const Future<void>& future) {
          // ...
        });
    Node.js
    // Create a document reference
    const docRef = db.collection('objects').doc('some-id');
    
    // Update the timestamp field with the value from the server
    const res = await docRef.update({
      timestamp: FieldValue.serverTimestamp()
    });
    Gitmek
    _, err := client.Collection("objects").Doc("some-id").Set(ctx, map[string]interface{}{
    	"timestamp": firestore.ServerTimestamp,
    }, firestore.MergeAll)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $docRef = $db->collection('samples/php/objects')->document('some-id');
    $docRef->update([
        ['path' => 'timestamp', 'value' => FieldValue::serverTimestamp()]
    ]);
    Birlik
    DocumentReference cityRef = db.Collection("cities").Document("new-city-id");
    cityRef.UpdateAsync("Timestamp", FieldValue.ServerTimestamp)
    	.ContinueWithOnMainThread(task => {
    		Debug.Log(
    			"Updated the Timestamp field of the new-city-id document in the cities "
    			+ "collection.");
    	});
    C#
    DocumentReference cityRef = db.Collection("cities").Document("new-city-id");
    await cityRef.UpdateAsync("Timestamp", Timestamp.GetCurrentTimestamp());
    Yakut
    city_ref = firestore.doc "#{collection_path}/new-city-id"
    city_ref.update({ timestamp: firestore.field_server_time })

    Bir işlemin içindeki birden fazla zaman damgası alanını güncellerken, her alan aynı sunucu zaman damgası değerini alır.

    Yuvalanmış nesnelerdeki alanları güncelleme

    Belgeniz iç içe geçmiş nesneler içeriyorsa, update() işlevini çağırdığınızda belgedeki iç içe alanlara başvurmak için "nokta gösterimi"ni kullanabilirsiniz:

    Web version 9

    import { doc, setDoc, updateDoc } from "firebase/firestore"; 
    
    // Create an initial document to update.
    const frankDocRef = doc(db, "users", "frank");
    await setDoc(frankDocRef, {
        name: "Frank",
        favorites: { food: "Pizza", color: "Blue", subject: "recess" },
        age: 12
    });
    
    // To update age and favorite color:
    await updateDoc(frankDocRef, {
        "age": 13,
        "favorites.color": "Red"
    });

    Web version 8

    // Create an initial document to update.
    var frankDocRef = db.collection("users").doc("frank");
    frankDocRef.set({
        name: "Frank",
        favorites: { food: "Pizza", color: "Blue", subject: "recess" },
        age: 12
    });
    
    // To update age and favorite color:
    db.collection("users").doc("frank").update({
        "age": 13,
        "favorites.color": "Red"
    })
    .then(() => {
        console.log("Document successfully updated!");
    });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Create an initial document to update.
    let frankDocRef = db.collection("users").document("frank")
    frankDocRef.setData([
        "name": "Frank",
        "favorites": [ "food": "Pizza", "color": "Blue", "subject": "recess" ],
        "age": 12
        ])
    
    // To update age and favorite color:
    db.collection("users").document("frank").updateData([
        "age": 13,
        "favorites.color": "Red"
    ]) { err in
        if let err = err {
            print("Error updating document: \(err)")
        } else {
            print("Document successfully updated")
        }
    }
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    // Create an initial document to update.
    FIRDocumentReference *frankDocRef =
        [[self.db collectionWithPath:@"users"] documentWithPath:@"frank"];
    [frankDocRef setData:@{
      @"name": @"Frank",
      @"favorites": @{
        @"food": @"Pizza",
        @"color": @"Blue",
        @"subject": @"recess"
      },
      @"age": @12
    }];
    // To update age and favorite color:
    [frankDocRef updateData:@{
      @"age": @13,
      @"favorites.color": @"Red",
    } completion:^(NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error updating document: %@", error);
      } else {
        NSLog(@"Document successfully updated");
      }
    }];

    Kotlin+KTX

    // Assume the document contains:
    // {
    //   name: "Frank",
    //   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
    //   age: 12
    // }
    //
    // To update age and favorite color:
    db.collection("users").document("frank")
            .update(mapOf(
                    "age" to 13,
                    "favorites.color" to "Red"
            ))
    

    Java

    // Assume the document contains:
    // {
    //   name: "Frank",
    //   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
    //   age: 12
    // }
    //
    // To update age and favorite color:
    db.collection("users").document("frank")
            .update(
                    "age", 13,
                    "favorites.color", "Red"
            );
    

    Dart

    // Assume the document contains:
    // {
    //   name: "Frank",
    //   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
    //   age: 12
    // }
    db
        .collection("users")
        .doc("frank")
        .update({"age": 13, "favorites.color": "Red"});
    java
    // Create an initial document to update
    DocumentReference frankDocRef = db.collection("users").document("frank");
    Map<String, Object> initialData = new HashMap<>();
    initialData.put("name", "Frank");
    initialData.put("age", 12);
    
    Map<String, Object> favorites = new HashMap<>();
    favorites.put("food", "Pizza");
    favorites.put("color", "Blue");
    favorites.put("subject", "Recess");
    initialData.put("favorites", favorites);
    
    ApiFuture<WriteResult> initialResult = frankDocRef.set(initialData);
    // Confirm that data has been successfully saved by blocking on the operation
    initialResult.get();
    
    // Update age and favorite color
    Map<String, Object> updates = new HashMap<>();
    updates.put("age", 13);
    updates.put("favorites.color", "Red");
    
    // Async update document
    ApiFuture<WriteResult> writeResult = frankDocRef.update(updates);
    // ...
    System.out.println("Update time : " + writeResult.get().getUpdateTime());
    Piton
    # Create an initial document to update
    frank_ref = db.collection(u'users').document(u'frank')
    frank_ref.set({
        u'name': u'Frank',
        u'favorites': {
            u'food': u'Pizza',
            u'color': u'Blue',
            u'subject': u'Recess'
        },
        u'age': 12
    })
    
    # Update age and favorite color
    frank_ref.update({
        u'age': 13,
        u'favorites.color': u'Red'
    })

    Python

    # Create an initial document to update
    frank_ref = db.collection("users").document("frank")
    await frank_ref.set(
        {
            "name": "Frank",
            "favorites": {"food": "Pizza", "color": "Blue", "subject": "Recess"},
            "age": 12,
        }
    )
    
    # Update age and favorite color
    await frank_ref.update({"age": 13, "favorites.color": "Red"})
    C++
    // Assume the document contains:
    // {
    //   name: "Frank",
    //   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
    //   age: 12
    // }
    //
    // To update age and favorite color:
    db->Collection("users").Document("frank").Update({
        {"age", FieldValue::Integer(13)},
        {"favorites.color", FieldValue::String("red")},
    });
    Node.js
    const initialData = {
      name: 'Frank',
      age: 12,
      favorites: {
        food: 'Pizza',
        color: 'Blue',
        subject: 'recess'
      }
    };
    
    // ...
    const res = await db.collection('users').doc('Frank').update({
      age: 13,
      'favorites.color': 'Red'
    });
    Gitmek
    initialData := map[string]interface{}{
    	"name": "Frank",
    	"age":  12,
    	"favorites": map[string]interface{}{
    		"food":    "Pizza",
    		"color":   "Blue",
    		"subject": "recess",
    	},
    }
    
    // ...
    
    _, err := client.Collection("users").Doc("frank").Set(ctx, map[string]interface{}{
    	"age": 13,
    	"favorites": map[string]interface{}{
    		"color": "Red",
    	},
    }, firestore.MergeAll)
    if err != nil {
    	// Handle any errors in an appropriate way, such as returning them.
    	log.Printf("An error has occurred: %s", err)
    }
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    // Create an initial document to update
    $frankRef = $db->collection('samples/php/users')->document('frank');
    $frankRef->set([
        'first' => 'Frank',
        'last' => 'Franklin',
        'favorites' => ['food' => 'Pizza', 'color' => 'Blue', 'subject' => 'Recess'],
        'age' => 12
    ]);
    
    // Update age and favorite color
    $frankRef->update([
        ['path' => 'age', 'value' => 13],
        ['path' => 'favorites.color', 'value' => 'Red']
    ]);
    Birlik
    DocumentReference frankDocRef = db.Collection("users").Document("frank");
    Dictionary<string, object> initialData = new Dictionary<string, object>
    {
    	{ "Name", "Frank" },
    	{ "Age", 12 }
    };
    
    Dictionary<string, object> favorites = new Dictionary<string, object>
    {
    	{ "Food", "Pizza" },
    	{ "Color", "Blue" },
    	{ "Subject", "Recess" },
    };
    initialData.Add("Favorites", favorites);
    frankDocRef.SetAsync(initialData).ContinueWithOnMainThread(task => {
    
    	// Update age and favorite color
    	Dictionary<string, object> updates = new Dictionary<string, object>
    	{
    		{ "Age", 13 },
    		{ "Favorites.Color", "Red" },
    	};
    
    	// Asynchronously update the document
    	return frankDocRef.UpdateAsync(updates);
    }).ContinueWithOnMainThread(task => {
    	Debug.Log(
    		"Updated the age and favorite color fields of the Frank document in "
    		+ "the users collection.");
    });
    C#
    DocumentReference frankDocRef = db.Collection("users").Document("frank");
    Dictionary<string, object> initialData = new Dictionary<string, object>
    {
        { "Name", "Frank" },
        { "Age", 12 }
    };
    
    Dictionary<string, object> favorites = new Dictionary<string, object>
    {
        { "Food", "Pizza" },
        { "Color", "Blue" },
        { "Subject", "Recess" },
    };
    initialData.Add("Favorites", favorites);
    await frankDocRef.SetAsync(initialData);
    
    // Update age and favorite color
    Dictionary<string, object> updates = new Dictionary<string, object>
    {
        { "Age", 13 },
        { "Favorites.Color", "Red" },
    };
    
    // Asynchronously update the document
    await frankDocRef.UpdateAsync(updates);
    Yakut
    # Create an initial document to update
    frank_ref = firestore.doc "#{collection_path}/frank"
    frank_ref.set(
      {
        name:      "Frank",
        favorites: {
          food:    "Pizza",
          color:   "Blue",
          subject: "Recess"
        },
        age:       12
      }
    )
    
    # Update age and favorite color
    frank_ref.update({ age: 13, "favorites.color": "Red" })

    Nokta gösterimi, başka bir iç içe alanın üzerine yazmadan tek bir iç içe alanı güncellemenizi sağlar. İç içe geçmiş bir alanı nokta notasyonu olmadan güncellerseniz, tüm harita alanının üzerine yazarsınız, örneğin:

    
    // Create our initial doc
    db.collection("users").doc("frank").set({
      name: "Frank",
      favorites: {
        food: "Pizza",
        color: "Blue",
        subject: "Recess"
      },
      age: 12
    }).then(function() {
      console.log("Frank created");
    });
    
    // Update the doc without using dot notation.
    // Notice the map value for favorites.
    db.collection("users").doc("frank").update({
      favorites: {
        food: "Ice Cream"
      }
    }).then(function() {
      console.log("Frank food updated");
    });
    
    /*
    Ending State, favorite.color and favorite.subject are no longer present:
    /users
        /frank
            {
                name: "Frank",
                favorites: {
                    food: "Ice Cream",
                },
                age: 12
            }
     */
    

    Bir dizideki öğeleri güncelleme

    Belgeniz bir dizi alanı içeriyorsa, öğe eklemek ve kaldırmak için arrayUnion() ve arrayRemove() 'u kullanabilirsiniz. arrayUnion() bir diziye öğeler ekler, ancak yalnızca halihazırda mevcut olmayan öğeler ekler. arrayRemove() , verilen her bir öğenin tüm örneklerini kaldırır.

    Web version 9

    import { doc, updateDoc, arrayUnion, arrayRemove } from "firebase/firestore";
    
    const washingtonRef = doc(db, "cities", "DC");
    
    // Atomically add a new region to the "regions" array field.
    await updateDoc(washingtonRef, {
        regions: arrayUnion("greater_virginia")
    });
    
    // Atomically remove a region from the "regions" array field.
    await updateDoc(washingtonRef, {
        regions: arrayRemove("east_coast")
    });

    Web version 8

    var washingtonRef = db.collection("cities").doc("DC");
    
    // Atomically add a new region to the "regions" array field.
    washingtonRef.update({
        regions: firebase.firestore.FieldValue.arrayUnion("greater_virginia")
    });
    
    // Atomically remove a region from the "regions" array field.
    washingtonRef.update({
        regions: firebase.firestore.FieldValue.arrayRemove("east_coast")
    });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let washingtonRef = db.collection("cities").document("DC")
    
    // Atomically add a new region to the "regions" array field.
    washingtonRef.updateData([
        "regions": FieldValue.arrayUnion(["greater_virginia"])
    ])
    
    // Atomically remove a region from the "regions" array field.
    washingtonRef.updateData([
        "regions": FieldValue.arrayRemove(["east_coast"])
    ])
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    FIRDocumentReference *washingtonRef =
        [[self.db collectionWithPath:@"cities"] documentWithPath:@"DC"];
    
    // Atomically add a new region to the "regions" array field.
    [washingtonRef updateData:@{
      @"regions": [FIRFieldValue fieldValueForArrayUnion:@[@"greater_virginia"]]
    }];
    
    // Atomically remove a new region to the "regions" array field.
    [washingtonRef updateData:@{
      @"regions": [FIRFieldValue fieldValueForArrayRemove:@[@"east_coast"]]
    }];

    Kotlin+KTX

    val washingtonRef = db.collection("cities").document("DC")
    
    // Atomically add a new region to the "regions" array field.
    washingtonRef.update("regions", FieldValue.arrayUnion("greater_virginia"))
    
    // Atomically remove a region from the "regions" array field.
    washingtonRef.update("regions", FieldValue.arrayRemove("east_coast"))
    

    Java

    DocumentReference washingtonRef = db.collection("cities").document("DC");
    
    // Atomically add a new region to the "regions" array field.
    washingtonRef.update("regions", FieldValue.arrayUnion("greater_virginia"));
    
    // Atomically remove a region from the "regions" array field.
    washingtonRef.update("regions", FieldValue.arrayRemove("east_coast"));
    

    Dart

    final washingtonRef = db.collection("cities").doc("DC");
    
    // Atomically add a new region to the "regions" array field.
    washingtonRef.update({
      "regions": FieldValue.arrayUnion(["greater_virginia"]),
    });
    
    // Atomically remove a region from the "regions" array field.
    washingtonRef.update({
      "regions": FieldValue.arrayRemove(["east_coast"]),
    });
    java
    DocumentReference washingtonRef = db.collection("cities").document("DC");
    
    // Atomically add a new region to the "regions" array field.
    ApiFuture<WriteResult> arrayUnion =
        washingtonRef.update("regions", FieldValue.arrayUnion("greater_virginia"));
    System.out.println("Update time : " + arrayUnion.get());
    
    // Atomically remove a region from the "regions" array field.
    ApiFuture<WriteResult> arrayRm =
        washingtonRef.update("regions", FieldValue.arrayRemove("east_coast"));
    System.out.println("Update time : " + arrayRm.get());
    Piton
    city_ref = db.collection(u'cities').document(u'DC')
    
    # Atomically add a new region to the 'regions' array field.
    city_ref.update({u'regions': firestore.ArrayUnion([u'greater_virginia'])})
    
    # // Atomically remove a region from the 'regions' array field.
    city_ref.update({u'regions': firestore.ArrayRemove([u'east_coast'])})

    Python

    city_ref = db.collection("cities").document("DC")
    
    # Atomically add a new region to the 'regions' array field.
    await city_ref.update({"regions": firestore.ArrayUnion(["greater_virginia"])})
    
    # // Atomically remove a region from the 'regions' array field.
    await city_ref.update({"regions": firestore.ArrayRemove(["east_coast"])})
    C++
    // This is not yet supported.
    
    Node.js
    // ...
    const washingtonRef = db.collection('cities').doc('DC');
    
    // Atomically add a new region to the "regions" array field.
    const unionRes = await washingtonRef.update({
      regions: FieldValue.arrayUnion('greater_virginia')
    });
    // Atomically remove a region from the "regions" array field.
    const removeRes = await washingtonRef.update({
      regions: FieldValue.arrayRemove('east_coast')
    });
    
    // To add or remove multiple items, pass multiple arguments to arrayUnion/arrayRemove
    const multipleUnionRes = await washingtonRef.update({
      regions: FieldValue.arrayUnion('south_carolina', 'texas')
      // Alternatively, you can use spread operator in ES6 syntax
      // const newRegions = ['south_carolina', 'texas']
      // regions: FieldValue.arrayUnion(...newRegions)
    });
    Gitmek
    // Not supported yet
    
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $cityRef = $db->collection('samples/php/cities')->document('DC');
    
    // Atomically add a new region to the "regions" array field.
    $cityRef->update([
        ['path' => 'regions', 'value' => FieldValue::arrayUnion(['greater_virginia'])]
    ]);
    
    // Atomically remove a region from the "regions" array field.
    $cityRef->update([
        ['path' => 'regions', 'value' => FieldValue::arrayRemove(['east_coast'])]
    ]);
    Birlik
    // This is not yet supported in the Unity SDK
      
    C#
    DocumentReference washingtonRef = db.Collection("cities").Document("DC");
    
    // Atomically add a new region to the "regions" array field.
    await washingtonRef.UpdateAsync("Regions", FieldValue.ArrayUnion("greater_virginia"));
    
    // Atomically remove a region from the "regions" array field.
    await washingtonRef.UpdateAsync("Regions", FieldValue.ArrayRemove("east_coast"));
    Yakut
    // Not supported yet
    

    Sayısal bir değeri artırma

    Aşağıdaki örnekte gösterildiği gibi bir sayısal alan değerini artırabilir veya azaltabilirsiniz. Arttırma işlemi, bir alanın geçerli değerini verilen miktarda artırır veya azaltır.

    Web version 9

    import { doc, updateDoc, increment } from "firebase/firestore";
    
    const washingtonRef = doc(db, "cities", "DC");
    
    // Atomically increment the population of the city by 50.
    await updateDoc(washingtonRef, {
        population: increment(50)
    });

    Web version 8

    var washingtonRef = db.collection('cities').doc('DC');
    
    // Atomically increment the population of the city by 50.
    washingtonRef.update({
        population: firebase.firestore.FieldValue.increment(50)
    });
    Süratli
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    let washingtonRef = db.collection("cities").document("DC")
    
    // Atomically increment the population of the city by 50.
    // Note that increment() with no arguments increments by 1.
    washingtonRef.updateData([
        "population": FieldValue.increment(Int64(50))
    ])
    Amaç-C
    Not: Bu ürün, watchOS ve App Clip hedeflerinde mevcut değildir.
    FIRDocumentReference *washingtonRef =
        [[self.db collectionWithPath:@"cities"] documentWithPath:@"DC"];
    
    // Atomically increment the population of the city by 50.
    // Note that increment() with no arguments increments by 1.
    [washingtonRef updateData:@{
      @"population": [FIRFieldValue fieldValueForIntegerIncrement:50]
    }];

    Kotlin+KTX

    val washingtonRef = db.collection("cities").document("DC")
    
    // Atomically increment the population of the city by 50.
    washingtonRef.update("population", FieldValue.increment(50))
    

    Java

    DocumentReference washingtonRef = db.collection("cities").document("DC");
    
    // Atomically increment the population of the city by 50.
    washingtonRef.update("population", FieldValue.increment(50));
    

    Dart

    var washingtonRef = db.collection('cities').doc('DC');
    
    // Atomically increment the population of the city by 50.
    washingtonRef.update(
      {"population": FieldValue.increment(50)},
    );
    java
    DocumentReference washingtonRef = db.collection("cities").document("DC");
    
    // Atomically increment the population of the city by 50.
    final ApiFuture<WriteResult> updateFuture =
        washingtonRef.update("population", FieldValue.increment(50));
    Piton
    washington_ref = db.collection(u'cities').document(u'DC')
    
    washington_ref.update({"population": firestore.Increment(50)})

    Python

    washington_ref = db.collection("cities").document("DC")
    
    washington_ref.update({"population": firestore.Increment(50)})
    C++
    // This is not yet supported.
    
    Node.js
    // ...
    const washingtonRef = db.collection('cities').doc('DC');
    
    // Atomically increment the population of the city by 50.
    const res = await washingtonRef.update({
      population: FieldValue.increment(50)
    });
    Gitmek
    import (
    	"context"
    	"fmt"
    
    	"cloud.google.com/go/firestore"
    )
    
    // updateDocumentIncrement increments the population of the city document in the
    // cities collection by 50.
    func updateDocumentIncrement(projectID, city string) error {
    	// projectID := "my-project"
    
    	ctx := context.Background()
    
    	client, err := firestore.NewClient(ctx, projectID)
    	if err != nil {
    		return fmt.Errorf("firestore.NewClient: %v", err)
    	}
    	defer client.Close()
    
    	dc := client.Collection("cities").Doc(city)
    	_, err = dc.Update(ctx, []firestore.Update{
    		{Path: "population", Value: firestore.Increment(50)},
    	})
    	if err != nil {
    		return fmt.Errorf("Update: %v", err)
    	}
    
    	return nil
    }
    
    PHP

    PHP

    Cloud Firestore istemcisi kurma ve oluşturma hakkında daha fazla bilgi için Cloud Firestore Client Libraries bölümüne bakın.

    $cityRef = $db->collection('samples/php/cities')->document('DC');
    
    // Atomically increment the population of the city by 50.
    $cityRef->update([
        ['path' => 'regions', 'value' => FieldValue::increment(50)]
    ]);
    Birlik
    // This is not yet supported in the Unity SDK.
      
    C#
    DocumentReference washingtonRef = db.Collection("cities").Document("DC");
    
    // Atomically increment the population of the city by 50.
    await washingtonRef.UpdateAsync("Regions", FieldValue.Increment(50));
    Yakut
    city_ref = firestore.doc "#{collection_path}/DC"
    city_ref.update({ population: firestore.field_increment(50) })

    Artım işlemleri, sayaçları uygulamak için yararlıdır, ancak tek bir belgeyi saniyede yalnızca bir kez güncelleyebileceğinizi unutmayın. Sayacınızı bu oranın üzerinde güncellemeniz gerekirse, Dağıtılmış sayaçlar sayfasına bakın.