यह दस्तावेज़, दस्तावेज़ में अलग-अलग दस्तावेज़ सेट करने, जोड़ने या अपडेट करने का तरीका बताता है Cloud Firestore. बल्क में डेटा लिखने के लिए, यहां देखें ट्रांज़ैक्शन और बैच में लिखना.
खास जानकारी
Cloud Firestore पर डेटा सेव करने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है:
- कलेक्शन के अंदर किसी दस्तावेज़ का डेटा सेट करें. साथ ही, दस्तावेज़ आइडेंटिफ़ायर.
- कलेक्शन में कोई नया दस्तावेज़ जोड़ें. इस मामले में, Cloud Firestore दस्तावेज़ के लिए आइडेंटिफ़ायर अपने-आप जनरेट हो जाता है.
- अपने-आप जनरेट होने वाले आइडेंटिफ़ायर की मदद से, एक खाली दस्तावेज़ बनाएं. बाद में इसे डेटा असाइन कर सकता है.
शुरू करने से पहले
डेटा को सेट करने, जोड़ने या अपडेट करने के लिए, Cloud Firestore को शुरू करने से पहले, आपको ये चरण पूरे करने होंगे:
- Cloud Firestore डेटाबेस बनाएं. ज़्यादा जानकारी के लिए, Cloud Firestore का इस्तेमाल शुरू करना देखें
- अगर वेब या मोबाइल क्लाइंट लाइब्रेरी का इस्तेमाल किया जाता है, तो सुरक्षा के नियमों की मदद से पुष्टि करें. ज़्यादा जानकारी के लिए, सुरक्षा के नियमों का इस्तेमाल शुरू करना देखें.
- अगर सर्वर क्लाइंट लाइब्रेरी या REST API का इस्तेमाल किया जाता है, तो आइडेंटिटी ऐंड ऐक्सेस मैनेजमेंट (आईएएम) की मदद से पुष्टि करें. ज़्यादा जानकारी के लिए, सर्वर क्लाइंट लाइब्रेरी के लिए सुरक्षा लेख पढ़ें.
Cloud Firestore शुरू करें
Cloud Firestore का इंस्टेंस शुरू करना:
Web
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);
FIREBASE_CONFIGURATION को अपने वेब ऐप्लिकेशन के साथ बदलें
firebaseConfig
.
डिवाइस का कनेक्शन बंद होने पर डेटा सेव रखने के लिए, ऑफ़लाइन डेटा चालू करें का दस्तावेज़ देखें.
Web
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();
FIREBASE_CONFIGURATION को अपने वेब ऐप्लिकेशन के साथ बदलें
firebaseConfig
.
डिवाइस का कनेक्शन बंद होने पर डेटा सेव रखने के लिए, ऑफ़लाइन डेटा चालू करें का दस्तावेज़ देखें.
Swift
import FirebaseCore import FirebaseFirestore
FirebaseApp.configure() let db = Firestore.firestore()
Objective-C
@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
val db = Firebase.firestore
Java
// Access a Cloud Firestore instance from your Activity
FirebaseFirestore db = FirebaseFirestore.getInstance();
Dart
db = FirebaseFirestore.instance;
Java
Cloud Firestore SDK टूल को अलग-अलग तरीकों से शुरू किया जाता है. यह इन पर निर्भर करता है आपके आस-पास का माहौल शामिल है. यहां सबसे आम तरीके दिए गए हैं. पूरी जानकारी के लिए, देखें शुरू करें एडमिन SDK.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();
अपने सर्वर पर Firebase एडमिन SDK का इस्तेमाल करने के लिए, सेवा खाता शामिल नहीं है.
इस पर जाएं आईएएम और एडमिन > सेवा खाते खोलें. नया निजी पासकोड जनरेट करें और JSON को सेव करें फ़ाइल से लिए जाते हैं. इसके बाद, SDK टूल शुरू करने के लिए फ़ाइल का इस्तेमाल करें:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Python
Cloud Firestore SDK टूल को अलग-अलग तरीकों से शुरू किया जाता है. यह इन पर निर्भर करता है आपके आस-पास का माहौल शामिल है. यहां सबसे आम तरीके दिए गए हैं. पूरी जानकारी के लिए, देखें शुरू करें एडमिन SDK.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
SDK टूल शुरू करने के लिए, किसी मौजूदा ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का भी इस्तेमाल किया जा सकता है.
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()
अपने सर्वर पर Firebase एडमिन SDK का इस्तेमाल करने के लिए, सेवा खाता शामिल नहीं है.
इस पर जाएं आईएएम और एडमिन > सेवा खाते खोलें. नया निजी पासकोड जनरेट करें और JSON को सेव करें फ़ाइल से लिए जाते हैं. इसके बाद, SDK टूल शुरू करने के लिए फ़ाइल का इस्तेमाल करें:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
Cloud Firestore SDK टूल को अलग-अलग तरीकों से शुरू किया जाता है. यह इन पर निर्भर करता है आपके आस-पास का माहौल शामिल है. यहां सबसे आम तरीके दिए गए हैं. पूरी जानकारी के लिए, देखें शुरू करें एडमिन SDK.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
SDK टूल शुरू करने के लिए, किसी मौजूदा ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का भी इस्तेमाल किया जा सकता है.
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()
अपने सर्वर पर Firebase एडमिन SDK का इस्तेमाल करने के लिए, सेवा खाता शामिल नहीं है.
इस पर जाएं आईएएम और एडमिन > सेवा खाते खोलें. नया निजी पासकोड जनरेट करें और JSON को सेव करें फ़ाइल से लिए जाते हैं. इसके बाद, SDK टूल शुरू करने के लिए फ़ाइल का इस्तेमाल करें:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
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 टूल को अलग-अलग तरीकों से शुरू किया जाता है. यह इन पर निर्भर करता है आपके आस-पास का माहौल शामिल है. यहां सबसे आम तरीके दिए गए हैं. पूरी जानकारी के लिए, देखें शुरू करें एडमिन SDK.-
Cloud Functions को शुरू करें
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
Google Cloud को शुरू करें
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
अपने सर्वर पर शुरू करना
अपने सर्वर (या किसी दूसरे Node.js एनवायरमेंट) पर Firebase एडमिन SDK टूल का इस्तेमाल करने के लिए, सेवा खाते का इस्तेमाल करें. IAM और एडमिन > Google Cloud Console में सेवा खाते. नई निजी कुंजी जनरेट करें और JSON फ़ाइल सेव करें. इसके बाद, SDK टूल शुरू करने के लिए फ़ाइल का इस्तेमाल करें:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
शुरू करें
Cloud Firestore SDK टूल को अलग-अलग तरीकों से शुरू किया जाता है. यह इन पर निर्भर करता है आपके आस-पास का माहौल शामिल है. यहां सबसे आम तरीके दिए गए हैं. पूरी जानकारी के लिए, देखें शुरू करें एडमिन SDK.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()
अपने सर्वर पर Firebase एडमिन SDK का इस्तेमाल करने के लिए, सेवा खाता शामिल नहीं है.
इस पर जाएं आईएएम और एडमिन > सेवा खाते खोलें. नया निजी पासकोड जनरेट करें और JSON को सेव करें फ़ाइल से लिए जाते हैं. इसके बाद, SDK टूल शुरू करने के लिए फ़ाइल का इस्तेमाल करें:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Unity
using Firebase.Firestore; using Firebase.Extensions;
FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
C#
C#
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Ruby
कोई दस्तावेज़ सेट करें
कोई एक दस्तावेज़ बनाने या ओवरराइट करने के लिए, अलग-अलग भाषा के हिसाब से set()
तरीकों का इस्तेमाल करें:
Web
setDoc()
तरीके का इस्तेमाल करें:
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
set()
तरीके का इस्तेमाल करें:
// 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); });
Swift
setData()
तरीके का इस्तेमाल करें:
// Add a new document in collection "cities" do { try await db.collection("cities").document("LA").setData([ "name": "Los Angeles", "state": "CA", "country": "USA" ]) print("Document successfully written!") } catch { print("Error writing document: \(error)") }
Objective-C
setData:
तरीके का इस्तेमाल करें:
// 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()
तरीके का इस्तेमाल करें:
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()
तरीके का इस्तेमाल करें:
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()
तरीके का इस्तेमाल करें:
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()
तरीके का इस्तेमाल करें:
Python
set()
तरीके का इस्तेमाल करें:
Python
set()
तरीके का इस्तेमाल करें:
C++
Set()
तरीके का इस्तेमाल करें:
// 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()
तरीके का इस्तेमाल करें:
शुरू करें
Set()
तरीके का इस्तेमाल करें:
PHP
set()
तरीके का इस्तेमाल करें:
PHP
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Unity
SetAsync()
तरीके का इस्तेमाल करें:
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()
तरीके का इस्तेमाल करें:
Ruby
set()
तरीके का इस्तेमाल करें:
दस्तावेज़ मौजूद न होने पर, इसे बना दिया जाएगा. अगर दस्तावेज़ मौजूद है, तो इसकी सामग्री नए उपलब्ध कराए गए डेटा से ओवरराइट हो जाएगी, बशर्ते आपने तय करें कि डेटा को मौजूदा दस्तावेज़ में इस तरह मर्ज किया जाना चाहिए:
Web
import { doc, setDoc } from "firebase/firestore"; const cityRef = doc(db, 'cities', 'BJ'); setDoc(cityRef, { capital: true }, { merge: true });
Web
var cityRef = db.collection('cities').doc('BJ'); var setWithMerge = cityRef.set({ capital: true }, { merge: true });
Swift
// Update one field, creating the document if it does not exist. db.collection("cities").document("BJ").setData([ "capital": true ], merge: true)
Objective-C
// 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
Python
Python
C++
db->Collection("cities").Document("BJ").Set( {{"capital", FieldValue::Boolean(true)}}, SetOptions::Merge());
Node.js
शुरू करें
PHP
PHP
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Unity
DocumentReference docRef = db.Collection("cities").Document("LA"); Dictionary<string, object> update = new Dictionary<string, object> { { "capital", false } }; docRef.SetAsync(update, SetOptions.MergeAll);
C#
Ruby
अगर आपको नहीं पता कि दस्तावेज़ मौजूद है या नहीं, तो नए दस्तावेज़ को मर्ज करने का विकल्प पास करें पूरे दस्तावेज़ों को ओवरराइट होने से बचाने के लिए. इसके लिए ऐसे दस्तावेज़ जिनमें मैप होते हैं, अगर आप किसी ऐसे फ़ील्ड के साथ सेट तय करते हैं जिसमें खाली मैप, लक्ष्य दस्तावेज़ का मैप फ़ील्ड ओवरराइट हो जाता है.
डेटा टाइप
Cloud Firestore से आपको किसी दस्तावेज़ में कई तरह के डेटा टाइप लिखने की सुविधा मिलती है, इसमें स्ट्रिंग, बूलियन, संख्याएं, तारीखें, शून्य, और नेस्ट की गई सरणियां और ऑब्जेक्ट हैं. Cloud Firestore, संख्याओं को हमेशा दोगुना के रूप में सेव करता है, भले ही आप अपने कोड में किस तरह का नंबर इस्तेमाल करते हैं.
Web
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
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!"); });
Swift
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" ] ] ] do { try await db.collection("data").document("one").setData(docData) print("Document successfully written!") } catch { print("Error writing document: \(error)") }
Objective-C
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
Python
Python
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
शुरू करें
PHP
PHP
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Unity
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#
Ruby
पसंद के मुताबिक बनाए गए ऑब्जेक्ट
अपने दस्तावेज़ों को दिखाने के लिए Map
या Dictionary
ऑब्जेक्ट का इस्तेमाल अक्सर किया जाता है
सुविधाजनक नहीं है, इसलिए Cloud Firestore
क्लास. Cloud Firestore, ऑब्जेक्ट को काम करने वाले डेटा टाइप में बदल देता है.
कस्टम क्लास का इस्तेमाल करके, शुरुआती उदाहरण को इस तरह फिर से लिखा जा सकता है:
Web
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
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); } };
Swift
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 } }
Objective-C
// 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
हर कस्टम क्लास का एक सार्वजनिक कंस्ट्रक्टर होना चाहिए, जो कोई आर्ग्युमेंट न ले. तय सीमा में इसके अलावा, क्लास में हर प्रॉपर्टी के लिए एक पब्लिक गैटर शामिल होना चाहिए.
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
Python
Python
C++
// This is not yet supported.
Node.js
// Node.js uses JavaScript objects
शुरू करें
PHP
PHP
Cloud Firestore क्लाइंट बनाने और इंस्टॉल करने के बारे में ज़्यादा जानकारी के लिए, यह लेख पढ़ें Cloud Firestore क्लाइंट लाइब्रेरी.
Unity
[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#
Ruby
// This isn't supported in Ruby
Web
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
// Set with cityConverter db.collection("cities").doc("LA") .withConverter(cityConverter) .set(new City("Los Angeles", "CA", "USA"));
Swift
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)") }
Objective-C
// 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
Python
Python
C++
// This is not yet supported.
Node.js
// Node.js uses JavaScript objects
शुरू करें
PHP
// This isn't supported in PHP.
Unity
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#
Ruby
// This isn't supported in Ruby.
कोई दस्तावेज़ जोड़ें
दस्तावेज़ बनाने के लिए set()
का इस्तेमाल करते समय, आपको
दस्तावेज़ बनाना है, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
Web
import { doc, setDoc } from "firebase/firestore"; await setDoc(doc(db, "cities", "new-city-id"), data);
Web
db.collection("cities").doc("new-city-id").set(data);
Swift
db.collection("cities").document("new-city-id").setData(data)
Objective-C
[[[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