क्लाउड फायरस्टोर से शुरुआत करें

यह क्विकस्टार्ट आपको दिखाता है कि क्लाउड फायरस्टोर कैसे सेट करें, डेटा कैसे जोड़ें, फिर फायरबेस कंसोल में आपके द्वारा जोड़ा गया डेटा देखें।

क्लाउड फायरस्टोर डेटाबेस बनाएं

  1. यदि आपने पहले से नहीं बनाया है, तो एक फायरबेस प्रोजेक्ट बनाएं: फायरबेस कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें, फिर फायरबेस प्रोजेक्ट बनाने या मौजूदा जीसीपी प्रोजेक्ट में फायरबेस सेवाओं को जोड़ने के लिए ऑन-स्क्रीन निर्देशों का पालन करें।

  2. फ़ायरबेस कंसोल के क्लाउड फ़ायरस्टोर अनुभाग पर जाएँ। आपको मौजूदा फायरबेस प्रोजेक्ट का चयन करने के लिए प्रेरित किया जाएगा। डेटाबेस निर्माण वर्कफ़्लो का पालन करें.

  3. अपने क्लाउड फायरस्टोर सुरक्षा नियमों के लिए एक प्रारंभिक मोड चुनें:

    परीक्षण मोड

    मोबाइल और वेब क्लाइंट लाइब्रेरी के साथ शुरुआत करने के लिए अच्छा है, लेकिन यह किसी को भी आपके डेटा को पढ़ने और अधिलेखित करने की अनुमति देता है। परीक्षण के बाद, अपना डेटा सुरक्षित करें अनुभाग की समीक्षा करना सुनिश्चित करें।

    वेब, Apple प्लेटफ़ॉर्म या Android SDK के साथ आरंभ करने के लिए, परीक्षण मोड चुनें।

    लॉक्ड मोड

    मोबाइल और वेब क्लाइंट के सभी पढ़ने और लिखने से इनकार करता है। आपके प्रमाणित एप्लिकेशन सर्वर (C#, Go, Java, Node.js, PHP, Python, या Ruby) अभी भी आपके डेटाबेस तक पहुंच सकते हैं।

    C#, Go, Java, Node.js, PHP, Python, या Ruby सर्वर क्लाइंट लाइब्रेरी के साथ आरंभ करने के लिए, लॉक मोड का चयन करें।

    क्लाउड फायरस्टोर सुरक्षा नियमों का आपका प्रारंभिक सेट आपके डिफ़ॉल्ट क्लाउड फायरस्टोर डेटाबेस पर लागू होगा। यदि आप अपने प्रोजेक्ट के लिए एकाधिक डेटाबेस बनाते हैं, तो आप प्रत्येक डेटाबेस के लिए क्लाउड फायरस्टोर सुरक्षा नियम तैनात कर सकते हैं।

  4. अपने डेटाबेस के लिए एक स्थान चुनें.

    • यह स्थान सेटिंग आपके प्रोजेक्ट का डिफ़ॉल्ट Google क्लाउड प्लेटफ़ॉर्म (GCP) संसाधन स्थान है। ध्यान दें कि इस स्थान का उपयोग आपके प्रोजेक्ट में जीसीपी सेवाओं के लिए किया जाएगा जिसके लिए स्थान सेटिंग की आवश्यकता होती है, विशेष रूप से, आपका डिफ़ॉल्ट क्लाउड स्टोरेज बकेट और आपका ऐप इंजन ऐप (जो कि क्लाउड शेड्यूलर का उपयोग करने पर आवश्यक है)।

    • यदि आप किसी स्थान का चयन करने में सक्षम नहीं हैं, तो आपके प्रोजेक्ट में पहले से ही एक डिफ़ॉल्ट GCP संसाधन स्थान है। इसे या तो प्रोजेक्ट निर्माण के दौरान या किसी अन्य सेवा को सेट करते समय सेट किया गया था जिसके लिए स्थान सेटिंग की आवश्यकता होती है।

  5. हो गया पर क्लिक करें.

जब आप क्लाउड फायरस्टोर को सक्षम करते हैं, तो यह क्लाउड एपीआई मैनेजर में एपीआई को भी सक्षम करता है।

अपना विकास परिवेश स्थापित करें

अपने ऐप में आवश्यक निर्भरताएँ और क्लाइंट लाइब्रेरी जोड़ें।

Web namespaced API

  1. अपने वेब ऐप में फायरबेस जोड़ने के लिए निर्देशों का पालन करें।
  2. अपने ऐप में फायरबेस और क्लाउड फायरस्टोर लाइब्रेरी जोड़ें:
    <script src="https://www.gstatic.com/firebasejs/10.9.0/firebase-app-compat.js"></script>
    <script src="https://www.gstatic.com/firebasejs/10.9.0/firebase-firestore-compat.js"></script>
    क्लाउड फायरस्टोर एसडीके एनपीएम पैकेज के रूप में भी उपलब्ध है।
    npm install firebase@10.9.0 --save
    
    आपको फायरबेस और क्लाउड फायरस्टोर दोनों की मैन्युअल रूप से आवश्यकता होगी।
    import firebase from "firebase/compat/app";
    // Required for side-effects
    import "firebase/firestore";
    

Web modular API

  1. अपने वेब ऐप में फायरबेस जोड़ने के लिए निर्देशों का पालन करें।
  2. क्लाउड फायरस्टोर एसडीके एनपीएम पैकेज के रूप में उपलब्ध है।
    npm install firebase@10.9.0 --save
    
    आपको फायरबेस और क्लाउड फायरस्टोर दोनों को आयात करने की आवश्यकता होगी।
    import { initializeApp } from "firebase/app";
    import { getFirestore } from "firebase/firestore";
    
आईओएस+

अपने Apple ऐप में Firebase जोड़ने के लिए निर्देशों का पालन करें।

फायरबेस निर्भरता को स्थापित और प्रबंधित करने के लिए स्विफ्ट पैकेज मैनेजर का उपयोग करें।

  1. Xcode में, अपना ऐप प्रोजेक्ट खुला होने पर, फ़ाइल > स्विफ्ट पैकेज > पैकेज निर्भरता जोड़ें पर नेविगेट करें।
  2. संकेत मिलने पर, Firebase Apple प्लेटफ़ॉर्म SDK रिपॉजिटरी जोड़ें:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. फायरस्टोर लाइब्रेरी चुनें.
  5. समाप्त होने पर, Xcode स्वचालित रूप से पृष्ठभूमि में आपकी निर्भरता को हल करना और डाउनलोड करना शुरू कर देगा।
एंड्रॉयड
  1. अपने एंड्रॉइड ऐप में फायरबेस जोड़ने के लिए निर्देशों का पालन करें।
  2. फायरबेस एंड्रॉइड बीओएम का उपयोग करके, अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle.kts या app/build.gradle ) में एंड्रॉइड के लिए क्लाउड फायरस्टोर लाइब्रेरी के लिए निर्भरता घोषित करें।
    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:32.8.0"))
    
        // Declare the dependency for the Cloud Firestore library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-firestore")
    }
    

    फायरबेस एंड्रॉइड बीओएम का उपयोग करके, आपका ऐप हमेशा फायरबेस एंड्रॉइड लाइब्रेरी के संगत संस्करणों का उपयोग करेगा।

    (वैकल्पिक) BoM का उपयोग किए बिना फायरबेस लाइब्रेरी निर्भरता घोषित करें

    यदि आप फायरबेस बीओएम का उपयोग नहीं करना चुनते हैं, तो आपको प्रत्येक फायरबेस लाइब्रेरी संस्करण को उसकी निर्भरता पंक्ति में निर्दिष्ट करना होगा।

    ध्यान दें कि यदि आप अपने ऐप में एकाधिक फायरबेस लाइब्रेरी का उपयोग करते हैं, तो हम लाइब्रेरी संस्करणों को प्रबंधित करने के लिए BoM का उपयोग करने की अत्यधिक अनुशंसा करते हैं, जो सुनिश्चित करता है कि सभी संस्करण संगत हैं।

    dependencies {
        // Declare the dependency for the Cloud Firestore library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-firestore:24.11.0")
    }
    

    कोटलिन-विशिष्ट लाइब्रेरी मॉड्यूल खोज रहे हैं? अक्टूबर 2023 की रिलीज़ से शुरू होकर, कोटलिन और जावा डेवलपर्स दोनों मुख्य लाइब्रेरी मॉड्यूल पर निर्भर हो सकते हैं (विवरण के लिए, इस पहल के बारे में अक्सर पूछे जाने वाले प्रश्न देखें)।

Dart

  1. यदि आपने पहले से नहीं किया है, तो अपने फ़्लटर ऐप में फ़ायरबेस को कॉन्फ़िगर और प्रारंभ करें
  2. अपने फ़्लटर प्रोजेक्ट के रूट से, प्लगइन इंस्टॉल करने के लिए निम्न कमांड चलाएँ:
    flutter pub add cloud_firestore
  3. एक बार पूरा होने पर, अपने फ़्लटर एप्लिकेशन को फिर से बनाएं:
    flutter run
  4. वैकल्पिक: पूर्व-संकलित ढांचे को शामिल करके iOS और macOS के निर्माण समय में सुधार करें।

    वर्तमान में, iOS के लिए फायरस्टोर SDK उस कोड पर निर्भर करता है जिसे Xcode में बनाने में 5 मिनट से अधिक का समय लग सकता है। निर्माण समय को महत्वपूर्ण रूप से कम करने के लिए, आप अपने पॉडफ़ाइल में target 'Runner' do ब्लॉक में इस पंक्ति को जोड़कर पूर्व-संकलित संस्करण का उपयोग कर सकते हैं:

    target 'Runner' do
      use_frameworks!
      use_modular_headers!
    
      pod 'FirebaseFirestore',
        :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git',
        :tag => 'IOS_SDK_VERSION'
    
      flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
      target 'RunnerTests' do
        inherit! :search_paths
      end
    end

    IOS_SDK_VERSION firebase_core की firebase_sdk_version.rb फ़ाइल में निर्दिष्ट Firebase iOS SDK के संस्करण से बदलें। यदि आप firebase_core के नवीनतम संस्करण का उपयोग नहीं कर रहे हैं, तो इस फ़ाइल को अपने स्थानीय पब पैकेज कैश (आमतौर पर ~/.pub-cache ) में देखें।

    इसके अतिरिक्त, सुनिश्चित करें कि आपने CocoaPods को 1.9.1 या उच्चतर पर अपग्रेड कर लिया है:

    gem install cocoapods

    अधिक जानकारी के लिए GitHub पर समस्या देखें।

जावा
  1. अपने ऐप में फायरबेस एडमिन एसडीके जोड़ें:
    • ग्रैडल का उपयोग करना:
      compile 'com.google.firebase:firebase-admin:1.32.0'
      
    • मेवेन का उपयोग करना:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>1.32.0</version>
      </dependency>
           
  2. अपने वातावरण में उचित क्रेडेंशियल्स के साथ क्लाउड फायरस्टोर को आरंभ करने के लिए नीचे दिए गए निर्देशों का पालन करें।
अजगर
  1. अपने पायथन ऐप में फायरबेस एडमिन एसडीके जोड़ें:
    pip install --upgrade firebase-admin
  2. अपने वातावरण में उचित क्रेडेंशियल्स के साथ क्लाउड फायरस्टोर को आरंभ करने के लिए नीचे दिए गए निर्देशों का पालन करें।
सी++
  1. अपने C++ प्रोजेक्ट में Firebase जोड़ने के लिए निर्देशों का पालन करें।
  2. Android के लिए C++ इंटरफ़ेस.
    • ग्रैडल निर्भरताएँ। अपने मॉड्यूल (ऐप-स्तर) ग्रैडल फ़ाइल (आमतौर पर app/build.gradle ) में निम्नलिखित जोड़ें:
              android.defaultConfig.externalNativeBuild.cmake {
                arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir"
              }
      
              apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle"
              firebaseCpp.dependencies {
                // earlier entries
                auth
                firestore
              }
              
    • बाइनरी निर्भरताएँ. इसी प्रकार, बाइनरी निर्भरता प्राप्त करने का अनुशंसित तरीका निम्नलिखित को अपनी CMakeLists.txt फ़ाइल में जोड़ना है:
              add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
              set(firebase_libs firebase_auth firebase_firestore firebase_app)
              # Replace the target name below with the actual name of your target,
              # for example, "native-lib".
              target_link_libraries(${YOUR_TARGET_NAME_HERE} "${firebase_libs}")
              
  3. डेस्कटॉप एकीकरण स्थापित करने के लिए, अपने C++ प्रोजेक्ट में Firebase जोड़ें देखें।
एकता
  1. अपने यूनिटी प्रोजेक्ट में फायरबेस जोड़ने के लिए निर्देशों का पालन करें।
  2. एंड्रॉइड बिल्ड को छोटा करने के लिए अपने प्रोजेक्ट को कॉन्फ़िगर करने के लिए यूनिटी इंटरफ़ेस का उपयोग करें।
  3. Error while merging dex archives संदेश से बचने के लिए आपको बिल्ड को छोटा करना होगा।

    • विकल्प प्लेयर सेटिंग्स > एंड्रॉइड > पब्लिशिंग सेटिंग्स > मिनिफाई में पाया जा सकता है।
    • यूनिटी के विभिन्न संस्करणों में विकल्प भिन्न हो सकते हैं इसलिए आधिकारिक यूनिटी दस्तावेज़ और फायरबेस यूनिटी बिल्ड डिबग गाइड देखें।
    • यदि, लघुकरण सक्षम करने के बाद, संदर्भित विधियों की संख्या अभी भी सीमा से अधिक है, तो दूसरा विकल्प multidex को सक्षम करना है:
      • यदि प्लेयर सेटिंग्स के अंतर्गत कस्टम ग्रेडल टेम्पलेट सक्षम है तो mainTemplate.gradle
      • या, मॉड्यूल-स्तरीय build.gradle फ़ाइल, यदि आप निर्यातित प्रोजेक्ट बनाने के लिए एंड्रॉइड स्टूडियो का उपयोग करते हैं।
नोड.जे.एस
  1. अपने ऐप में फायरबेस एडमिन एसडीके जोड़ें:
    npm install firebase-admin --save
  2. अपने वातावरण में उचित क्रेडेंशियल्स के साथ क्लाउड फायरस्टोर को आरंभ करने के लिए नीचे दिए गए निर्देशों का पालन करें।
जाना
  1. अपने गो ऐप में फायरबेस एडमिन एसडीके जोड़ें:
    go get firebase.google.com/go
    
  2. अपने वातावरण में उचित क्रेडेंशियल्स के साथ क्लाउड फायरस्टोर को आरंभ करने के लिए नीचे दिए गए निर्देशों का पालन करें।
पीएचपी
  1. क्लाउड फायरस्टोर सर्वर क्लाइंट लाइब्रेरी (जावा, नोड.जेएस, पायथन, गो, पीएचपी, सी#, और रूबी) प्रमाणीकरण के लिए Google एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का उपयोग करते हैं।
    • अपने विकास परिवेश से प्रमाणित करने के लिए, JSON सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर सेट करें। आप एपीआई कंसोल क्रेडेंशियल पेज पर एक कुंजी फ़ाइल बना सकते हैं।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • अपने उत्पादन परिवेश में, यदि आप अपना एप्लिकेशन ऐप इंजन या कंप्यूट इंजन पर उसी प्रोजेक्ट का उपयोग करके चलाते हैं जिसे आप क्लाउड फायरस्टोर के लिए उपयोग करते हैं तो आपको प्रमाणित करने की आवश्यकता नहीं है। अन्यथा, एक सेवा खाता सेट करें .
  2. PHP के लिए gRPC एक्सटेंशन इंस्टॉल और सक्षम करें, जिसकी आपको क्लाइंट लाइब्रेरी का उपयोग करने के लिए आवश्यकता होगी।
  3. अपने ऐप में क्लाउड फायरस्टोर PHP लाइब्रेरी जोड़ें:
    composer require google/cloud-firestore
सी#
  1. क्लाउड फायरस्टोर सर्वर क्लाइंट लाइब्रेरी (जावा, नोड.जेएस, पायथन, गो, पीएचपी, सी#, और रूबी) प्रमाणीकरण के लिए Google एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का उपयोग करते हैं।
    • अपने विकास परिवेश से प्रमाणित करने के लिए, JSON सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर सेट करें। आप एपीआई कंसोल क्रेडेंशियल पेज पर एक कुंजी फ़ाइल बना सकते हैं।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • अपने उत्पादन परिवेश में, यदि आप अपना एप्लिकेशन ऐप इंजन या कंप्यूट इंजन पर उसी प्रोजेक्ट का उपयोग करके चलाते हैं जिसे आप क्लाउड फायरस्टोर के लिए उपयोग करते हैं तो आपको प्रमाणित करने की आवश्यकता नहीं है। अन्यथा, एक सेवा खाता सेट करें .
  2. अपनी .csproj फ़ाइल में क्लाउड फायरस्टोर C# लाइब्रेरी को अपने ऐप में जोड़ें:
    <ItemGroup>
      <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" />
    </ItemGroup>
  3. अपनी Program.cs फ़ाइल में निम्नलिखित जोड़ें:
    using Google.Cloud.Firestore;
माणिक
  1. क्लाउड फायरस्टोर सर्वर क्लाइंट लाइब्रेरी (जावा, नोड.जेएस, पायथन, गो, पीएचपी, सी#, और रूबी) प्रमाणीकरण के लिए Google एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का उपयोग करते हैं।
    • अपने विकास परिवेश से प्रमाणित करने के लिए, JSON सेवा खाता कुंजी फ़ाइल को इंगित करने के लिए GOOGLE_APPLICATION_CREDENTIALS पर्यावरण चर सेट करें। आप एपीआई कंसोल क्रेडेंशियल पेज पर एक कुंजी फ़ाइल बना सकते हैं।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • अपने उत्पादन परिवेश में, यदि आप अपना एप्लिकेशन ऐप इंजन या कंप्यूट इंजन पर उसी प्रोजेक्ट का उपयोग करके चलाते हैं जिसे आप क्लाउड फायरस्टोर के लिए उपयोग करते हैं तो आपको प्रमाणित करने की आवश्यकता नहीं है। अन्यथा, एक सेवा खाता सेट करें .
  2. अपने Gemfile में क्लाउड फायरस्टोर रूबी लाइब्रेरी को अपने ऐप में जोड़ें:
    gem "google-cloud-firestore"
  3. अपने Gemfile से निर्भरताएँ स्थापित करें:
    bundle install

(वैकल्पिक) फायरबेस लोकल एमुलेटर सूट के साथ प्रोटोटाइप और परीक्षण

मोबाइल डेवलपर्स के लिए, इस बारे में बात करने से पहले कि आपका ऐप क्लाउड फायरस्टोर पर कैसे लिखता है और पढ़ता है, आइए टूल का एक सेट पेश करें जिसका उपयोग आप क्लाउड फायरस्टोर कार्यक्षमता को प्रोटोटाइप और परीक्षण करने के लिए कर सकते हैं: फायरबेस लोकल एमुलेटर सूट। यदि आप अलग-अलग डेटा मॉडल आज़मा रहे हैं, अपने सुरक्षा नियमों को अनुकूलित कर रहे हैं, या बैक-एंड के साथ बातचीत करने का सबसे लागत प्रभावी तरीका ढूंढने के लिए काम कर रहे हैं, तो लाइव सेवाओं को तैनात किए बिना स्थानीय स्तर पर काम करने में सक्षम होना एक अच्छा विचार हो सकता है।

क्लाउड फायरस्टोर एमुलेटर स्थानीय एमुलेटर सूट का हिस्सा है, जो आपके ऐप को आपके अनुकरणित डेटाबेस सामग्री और कॉन्फ़िगरेशन के साथ-साथ वैकल्पिक रूप से आपके अनुकरणीय प्रोजेक्ट संसाधनों (फ़ंक्शन, अन्य डेटाबेस और सुरक्षा नियमों) के साथ इंटरैक्ट करने में सक्षम बनाता है।

क्लाउड फायरस्टोर एमुलेटर का उपयोग करने में बस कुछ ही चरण शामिल हैं:

  1. एम्यूलेटर से कनेक्ट करने के लिए अपने ऐप के परीक्षण कॉन्फ़िगरेशन में कोड की एक पंक्ति जोड़ना।
  2. आपकी स्थानीय प्रोजेक्ट निर्देशिका के मूल से, firebase emulators:start
  3. हमेशा की तरह क्लाउड फायरस्टोर प्लेटफ़ॉर्म एसडीके का उपयोग करके अपने ऐप के प्रोटोटाइप कोड से कॉल करना।

क्लाउड फायरस्टोर और क्लाउड फ़ंक्शंस से संबंधित एक विस्तृत पूर्वाभ्यास उपलब्ध है। आपको स्थानीय एमुलेटर सुइट परिचय पर भी एक नज़र डालनी चाहिए।

क्लाउड फायरस्टोर प्रारंभ करें

क्लाउड फायरस्टोर का एक उदाहरण प्रारंभ करें:

Web modular API

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 namespaced API

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 से बदलें।

जब डिवाइस अपना कनेक्शन खो देता है तो डेटा को बनाए रखने के लिए, ऑफ़लाइन डेटा सक्षम करें दस्तावेज़ देखें।

तीव्र
नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
import FirebaseCore
import FirebaseFirestore
FirebaseApp.configure()

let db = Firestore.firestore()
उद्देश्य सी
नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
@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;
जावा
क्लाउड फायरस्टोर एसडीके को आपके परिवेश के आधार पर अलग-अलग तरीकों से आरंभ किया गया है। नीचे सबसे सामान्य तरीके दिए गए हैं. संपूर्ण संदर्भ के लिए, एडमिन एसडीके को प्रारंभ करें देखें।
  • Google क्लाउड
    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();
    
    पर प्रारंभ करें
  • अपने सर्वर पर प्रारंभ करें

    अपने स्वयं के सर्वर पर फायरबेस एडमिन एसडीके का उपयोग करने के लिए, एक सेवा खाते का उपयोग करें।

    Google क्लाउड कंसोल में IAM और एडमिन > सेवा खाते पर जाएँ। एक नई निजी कुंजी बनाएं और 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();
    
  • अजगर
    क्लाउड फायरस्टोर एसडीके को आपके परिवेश के आधार पर अलग-अलग तरीकों से आरंभ किया गया है। नीचे सबसे सामान्य तरीके दिए गए हैं. संपूर्ण संदर्भ के लिए, एडमिन एसडीके को प्रारंभ करें देखें।
  • Google क्लाउड
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()
    पर प्रारंभ करें

    एसडीके को आरंभ करने के लिए मौजूदा एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का भी उपयोग किया जा सकता है।

    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()
  • अपने सर्वर पर प्रारंभ करें

    अपने स्वयं के सर्वर पर फायरबेस एडमिन एसडीके का उपयोग करने के लिए, एक सेवा खाते का उपयोग करें।

    Google क्लाउड कंसोल में IAM और एडमिन > सेवा खाते पर जाएँ। एक नई निजी कुंजी बनाएं और 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

    क्लाउड फायरस्टोर एसडीके को आपके परिवेश के आधार पर अलग-अलग तरीकों से आरंभ किया गया है। नीचे सबसे सामान्य तरीके दिए गए हैं. संपूर्ण संदर्भ के लिए, एडमिन एसडीके को प्रारंभ करें देखें।
  • Google क्लाउड
    import firebase_admin
    from firebase_admin import firestore_async
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore_async.client()
    पर प्रारंभ करें

    एसडीके को आरंभ करने के लिए मौजूदा एप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल का भी उपयोग किया जा सकता है।

    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()
  • अपने सर्वर पर प्रारंभ करें

    अपने स्वयं के सर्वर पर फायरबेस एडमिन एसडीके का उपयोग करने के लिए, एक सेवा खाते का उपयोग करें।

    Google क्लाउड कंसोल में IAM और एडमिन > सेवा खाते पर जाएँ। एक नई निजी कुंजी बनाएं और 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()
  • सी++
    // Make sure the call to `Create()` happens some time before you call Firestore::GetInstance().
    App::Create();
    Firestore* db = Firestore::GetInstance();
    नोड.जे.एस
    क्लाउड फायरस्टोर एसडीके को आपके परिवेश के आधार पर अलग-अलग तरीकों से आरंभ किया गया है। नीचे सबसे सामान्य तरीके दिए गए हैं. संपूर्ण संदर्भ के लिए, एडमिन एसडीके को प्रारंभ करें देखें।
    • क्लाउड फ़ंक्शंस पर आरंभ करें
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
      initializeApp();
      
      const db = getFirestore();
      
    • Google क्लाउड पर आरंभ करें
      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 वातावरण) पर फायरबेस एडमिन SDK का उपयोग करने के लिए, एक सेवा खाते का उपयोग करें। Google क्लाउड कंसोल में IAM और एडमिन > सेवा खाते पर जाएँ। एक नई निजी कुंजी बनाएं और 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();
      
    जाना
    क्लाउड फायरस्टोर एसडीके को आपके परिवेश के आधार पर अलग-अलग तरीकों से आरंभ किया गया है। नीचे सबसे सामान्य तरीके दिए गए हैं. संपूर्ण संदर्भ के लिए, एडमिन एसडीके को प्रारंभ करें देखें।
  • Google क्लाउड
    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()
    
    पर प्रारंभ करें
  • अपने सर्वर पर प्रारंभ करें

    अपने स्वयं के सर्वर पर फायरबेस एडमिन एसडीके का उपयोग करने के लिए, एक सेवा खाते का उपयोग करें।

    Google क्लाउड कंसोल में IAM और एडमिन > सेवा खाते पर जाएँ। एक नई निजी कुंजी बनाएं और 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()
    
  • पीएचपी

    पीएचपी

    क्लाउड फायरस्टोर क्लाइंट स्थापित करने और बनाने के बारे में अधिक जानकारी के लिए, क्लाउड फायरस्टोर क्लाइंट लाइब्रेरीज़ देखें।

    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);
        }
    }
    एकता
    using Firebase.Firestore;
    using Firebase.Extensions;
    FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
    सी#

    सी#

    क्लाउड फायरस्टोर क्लाइंट स्थापित करने और बनाने के बारे में अधिक जानकारी के लिए, क्लाउड फायरस्टोर क्लाइंट लाइब्रेरीज़ देखें।

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

    डेटा जोड़ें

    क्लाउड फायरस्टोर दस्तावेज़ों में डेटा संग्रहीत करता है, जो संग्रह में संग्रहीत होता है। जब आप पहली बार दस्तावेज़ में डेटा जोड़ते हैं तो क्लाउड फायरस्टोर संग्रह और दस्तावेज़ बनाता है। आपको स्पष्ट रूप से संग्रह या दस्तावेज़ बनाने की आवश्यकता नहीं है।

    निम्नलिखित उदाहरण कोड का उपयोग करके एक नया संग्रह और एक दस्तावेज़ बनाएं।

    Web modular API

    import { collection, addDoc } from "firebase/firestore"; 
    
    try {
      const docRef = await addDoc(collection(db, "users"), {
        first: "Ada",
        last: "Lovelace",
        born: 1815
      });
      console.log("Document written with ID: ", docRef.id);
    } catch (e) {
      console.error("Error adding document: ", e);
    }

    Web namespaced API

    db.collection("users").add({
        first: "Ada",
        last: "Lovelace",
        born: 1815
    })
    .then((docRef) => {
        console.log("Document written with ID: ", docRef.id);
    })
    .catch((error) => {
        console.error("Error adding document: ", error);
    });
    तीव्र
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    // Add a new document with a generated ID
    do {
      let ref = try await db.collection("users").addDocument(data: [
        "first": "Ada",
        "last": "Lovelace",
        "born": 1815
      ])
      print("Document added with ID: \(ref.documentID)")
    } catch {
      print("Error adding document: \(error)")
    }
    उद्देश्य सी
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    // Add a new document with a generated ID
    __block FIRDocumentReference *ref =
        [[self.db collectionWithPath:@"users"] addDocumentWithData:@{
          @"first": @"Ada",
          @"last": @"Lovelace",
          @"born": @1815
        } completion:^(NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Error adding document: %@", error);
          } else {
            NSLog(@"Document added with ID: %@", ref.documentID);
          }
        }];

    Kotlin+KTX

    // Create a new user with a first and last name
    val user = hashMapOf(
        "first" to "Ada",
        "last" to "Lovelace",
        "born" to 1815,
    )
    
    // Add a new document with a generated ID
    db.collection("users")
        .add(user)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }

    Java

    // Create a new user with a first and last name
    Map<String, Object> user = new HashMap<>();
    user.put("first", "Ada");
    user.put("last", "Lovelace");
    user.put("born", 1815);
    
    // Add a new document with a generated ID
    db.collection("users")
            .add(user)
            .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                @Override
                public void onSuccess(DocumentReference documentReference) {
                    Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId());
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error adding document", e);
                }
            });

    Dart

    // Create a new user with a first and last name
    final user = <String, dynamic>{
      "first": "Ada",
      "last": "Lovelace",
      "born": 1815
    };
    
    // Add a new document with a generated ID
    db.collection("users").add(user).then((DocumentReference doc) =>
        print('DocumentSnapshot added with ID: ${doc.id}'));
    जावा
    DocumentReference docRef = db.collection("users").document("alovelace");
    // Add document data  with id "alovelace" using a hashmap
    Map<String, Object> data = new HashMap<>();
    data.put("first", "Ada");
    data.put("last", "Lovelace");
    data.put("born", 1815);
    //asynchronously write data
    ApiFuture<WriteResult> result = docRef.set(data);
    // ...
    // result.get() blocks on response
    System.out.println("Update time : " + result.get().getUpdateTime());
    अजगर
    doc_ref = db.collection("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    Python

    doc_ref = db.collection("users").document("alovelace")
    await doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})
    सी++
    // Add a new document with a generated ID
    Future<DocumentReference> user_ref =
        db->Collection("users").Add({{"first", FieldValue::String("Ada")},
                                     {"last", FieldValue::String("Lovelace")},
                                     {"born", FieldValue::Integer(1815)}});
    
    user_ref.OnCompletion([](const Future<DocumentReference>& future) {
      if (future.error() == Error::kErrorOk) {
        std::cout << "DocumentSnapshot added with ID: " << future.result()->id()
                  << std::endl;
      } else {
        std::cout << "Error adding document: " << future.error_message() << std::endl;
      }
    });
    नोड.जे.एस
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    जाना
    _, _, err := client.Collection("users").Add(ctx, map[string]interface{}{
    	"first": "Ada",
    	"last":  "Lovelace",
    	"born":  1815,
    })
    if err != nil {
    	log.Fatalf("Failed adding alovelace: %v", err)
    }
    पीएचपी

    पीएचपी

    क्लाउड फायरस्टोर क्लाइंट स्थापित करने और बनाने के बारे में अधिक जानकारी के लिए, क्लाउड फायरस्टोर क्लाइंट लाइब्रेरीज़ देखें।

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

    अब users संग्रह में एक और दस्तावेज़ जोड़ें। ध्यान दें कि इस दस्तावेज़ में एक कुंजी-मूल्य युग्म (मध्य नाम) शामिल है जो पहले दस्तावेज़ में दिखाई नहीं देता है। किसी संग्रह के दस्तावेज़ों में जानकारी के विभिन्न सेट हो सकते हैं।

    Web modular API

    // Add a second document with a generated ID.
    import { addDoc, collection } from "firebase/firestore"; 
    
    try {
      const docRef = await addDoc(collection(db, "users"), {
        first: "Alan",
        middle: "Mathison",
        last: "Turing",
        born: 1912
      });
    
      console.log("Document written with ID: ", docRef.id);
    } catch (e) {
      console.error("Error adding document: ", e);
    }

    Web namespaced API

    // Add a second document with a generated ID.
    db.collection("users").add({
        first: "Alan",
        middle: "Mathison",
        last: "Turing",
        born: 1912
    })
    .then((docRef) => {
        console.log("Document written with ID: ", docRef.id);
    })
    .catch((error) => {
        console.error("Error adding document: ", error);
    });
    तीव्र
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    // Add a second document with a generated ID.
    do {
      let ref = try await db.collection("users").addDocument(data: [
        "first": "Alan",
        "middle": "Mathison",
        "last": "Turing",
        "born": 1912
      ])
      print("Document added with ID: \(ref.documentID)")
    } catch {
      print("Error adding document: \(error)")
    }
    उद्देश्य सी
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    // Add a second document with a generated ID.
    __block FIRDocumentReference *ref =
        [[self.db collectionWithPath:@"users"] addDocumentWithData:@{
          @"first": @"Alan",
          @"middle": @"Mathison",
          @"last": @"Turing",
          @"born": @1912
        } completion:^(NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Error adding document: %@", error);
          } else {
            NSLog(@"Document added with ID: %@", ref.documentID);
          }
        }];

    Kotlin+KTX

    // Create a new user with a first, middle, and last name
    val user = hashMapOf(
        "first" to "Alan",
        "middle" to "Mathison",
        "last" to "Turing",
        "born" to 1912,
    )
    
    // Add a new document with a generated ID
    db.collection("users")
        .add(user)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }

    Java

    // Create a new user with a first, middle, and last name
    Map<String, Object> user = new HashMap<>();
    user.put("first", "Alan");
    user.put("middle", "Mathison");
    user.put("last", "Turing");
    user.put("born", 1912);
    
    // Add a new document with a generated ID
    db.collection("users")
            .add(user)
            .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                @Override
                public void onSuccess(DocumentReference documentReference) {
                    Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId());
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "Error adding document", e);
                }
            });

    Dart

    // Create a new user with a first and last name
    final user = <String, dynamic>{
      "first": "Alan",
      "middle": "Mathison",
      "last": "Turing",
      "born": 1912
    };
    
    // Add a new document with a generated ID
    db.collection("users").add(user).then((DocumentReference doc) =>
        print('DocumentSnapshot added with ID: ${doc.id}'));
    जावा
    DocumentReference docRef = db.collection("users").document("aturing");
    // Add document data with an additional field ("middle")
    Map<String, Object> data = new HashMap<>();
    data.put("first", "Alan");
    data.put("middle", "Mathison");
    data.put("last", "Turing");
    data.put("born", 1912);
    
    ApiFuture<WriteResult> result = docRef.set(data);
    System.out.println("Update time : " + result.get().getUpdateTime());
    अजगर
    doc_ref = db.collection("users").document("aturing")
    doc_ref.set({"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912})

    Python

    doc_ref = db.collection("users").document("aturing")
    await doc_ref.set(
        {"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912}
    )
    सी++
    db->Collection("users")
        .Add({{"first", FieldValue::String("Alan")},
              {"middle", FieldValue::String("Mathison")},
              {"last", FieldValue::String("Turing")},
              {"born", FieldValue::Integer(1912)}})
        .OnCompletion([](const Future<DocumentReference>& future) {
          if (future.error() == Error::kErrorOk) {
            std::cout << "DocumentSnapshot added with ID: "
                      << future.result()->id() << std::endl;
          } else {
            std::cout << "Error adding document: " << future.error_message()
                      << std::endl;
          }
        });
    नोड.जे.एस
    const aTuringRef = db.collection('users').doc('aturing');
    
    await aTuringRef.set({
      'first': 'Alan',
      'middle': 'Mathison',
      'last': 'Turing',
      'born': 1912
    });
    जाना
    _, _, err = client.Collection("users").Add(ctx, map[string]interface{}{
    	"first":  "Alan",
    	"middle": "Mathison",
    	"last":   "Turing",
    	"born":   1912,
    })
    if err != nil {
    	log.Fatalf("Failed adding aturing: %v", err)
    }
    पीएचपी

    पीएचपी

    क्लाउड फायरस्टोर क्लाइंट स्थापित करने और बनाने के बारे में अधिक जानकारी के लिए, क्लाउड फायरस्टोर क्लाइंट लाइब्रेरीज़ देखें।

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

    डेटा पढ़ें

    यह सत्यापित करने के लिए कि आपने क्लाउड फायरस्टोर में डेटा जोड़ा है , फायरबेस कंसोल में डेटा व्यूअर का उपयोग करें।

    आप संपूर्ण संग्रह को पुनः प्राप्त करने के लिए "प्राप्त करें" विधि का भी उपयोग कर सकते हैं।

    Web modular API

    import { collection, getDocs } from "firebase/firestore"; 
    
    const querySnapshot = await getDocs(collection(db, "users"));
    querySnapshot.forEach((doc) => {
      console.log(`${doc.id} => ${doc.data()}`);
    });

    Web namespaced API

    db.collection("users").get().then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            console.log(`${doc.id} => ${doc.data()}`);
        });
    });
    तीव्र
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    do {
      let snapshot = try await db.collection("users").getDocuments()
      for document in snapshot.documents {
        print("\(document.documentID) => \(document.data())")
      }
    } catch {
      print("Error getting documents: \(error)")
    }
    उद्देश्य सी
    नोट: यह उत्पाद वॉचओएस और ऐप क्लिप लक्ष्य पर उपलब्ध नहीं है।
    [[self.db collectionWithPath:@"users"]
        getDocumentsWithCompletion:^(FIRQuerySnapshot * _Nullable snapshot,
                                     NSError * _Nullable error) {
          if (error != nil) {
            NSLog(@"Error getting documents: %@", error);
          } else {
            for (FIRDocumentSnapshot *document in snapshot.documents) {
              NSLog(@"%@ => %@", document.documentID, document.data);
            }
          }
        }];

    Kotlin+KTX

    db.collection("users")
        .get()
        .addOnSuccessListener { result ->
            for (document in result) {
                Log.d(TAG, "${document.id} => ${document.data}")
            }
        }
        .addOnFailureListener { exception ->
            Log.w(TAG, "Error getting documents.", exception)
        }

    Java

    db.collection("users")
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        for (QueryDocumentSnapshot document : task.getResult()) {
                            Log.d(TAG, document.getId() + " => " + document.getData());
                        }
                    } else {
                        Log.w(TAG, "Error getting documents.", task.getException());
                    }
                }
            });

    Dart

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

    Python

    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    async for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    सी++
    Future<QuerySnapshot> users = db->Collection("users").Get();
    users.OnCompletion([](const Future<QuerySnapshot>& future) {
      if (future.error() == Error::kErrorOk) {
        for (const DocumentSnapshot& document : future.result()->documents()) {
          std::cout << document << std::endl;
        }
      } else {
        std::cout << "Error getting documents: " << future.error_message()
                  << std::endl;
      }
    });
    नोड.जे.एस
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    जाना
    iter := client.Collection("users").Documents(ctx)
    for {
    	doc, err := iter.Next()
    	if err == iterator.Done {
    		break
    	}
    	if err != nil {
    		log.Fatalf("Failed to iterate: %v", err)
    	}
    	fmt.Println(doc.Data())
    }
    पीएचपी

    पीएचपी

    क्लाउड फायरस्टोर क्लाइंट स्थापित करने और बनाने के बारे में अधिक जानकारी के लिए, क्लाउड फायरस्टोर क्लाइंट लाइब्रेरीज़ देखें।

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

    अपना डेटा सुरक्षित करें

    यदि आप वेब, एंड्रॉइड, या ऐप्पल प्लेटफ़ॉर्म एसडीके का उपयोग कर रहे हैं, तो क्लाउड फायरस्टोर में अपने डेटा को सुरक्षित करने के लिए फायरबेस प्रमाणीकरण और क्लाउड फायरस्टोर सुरक्षा नियमों का उपयोग करें।

    यहां कुछ बुनियादी नियम सेट दिए गए हैं जिनका उपयोग आप आरंभ करने के लिए कर सकते हैं। आप कंसोल के नियम टैब में अपने सुरक्षा नियमों को संशोधित कर सकते हैं।

    प्रमाणीकरण आवश्यक है

    // Allow read/write access to a document keyed by the user's UID
    service cloud.firestore {
      match /databases/{database}/documents {
        match /users/{uid} {
          allow read, write: if request.auth != null && request.auth.uid == uid;
        }
      }
    }
    

    लॉक्ड मोड

    // Deny read/write access to all users under any conditions
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if false;
        }
      }
    }
    

    इससे पहले कि आप अपने वेब, एंड्रॉइड या आईओएस ऐप को उत्पादन में तैनात करें, यह सुनिश्चित करने के लिए भी कदम उठाएं कि केवल आपके ऐप क्लाइंट ही आपके क्लाउड फायरस्टोर डेटा तक पहुंच सकते हैं। ऐप चेक दस्तावेज़ देखें।

    यदि आप सर्वर एसडीके में से किसी एक का उपयोग कर रहे हैं, तो क्लाउड फायरस्टोर में अपने डेटा को सुरक्षित करने के लिए आइडेंटिटी एंड एक्सेस मैनेजमेंट (आईएएम) का उपयोग करें।

    एक वीडियो ट्यूटोरियल देखें

    क्लाउड फायरस्टोर मोबाइल क्लाइंट लाइब्रेरीज़ के साथ शुरुआत करने पर विस्तृत मार्गदर्शन के लिए, निम्नलिखित वीडियो ट्यूटोरियल में से एक देखें:

    वेब
    आईओएस+
    एंड्रॉयड

    आप फायरबेस यूट्यूब चैनल में और अधिक वीडियो पा सकते हैं।

    अगले कदम

    निम्नलिखित विषयों के साथ अपना ज्ञान गहरा करें: