获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

ক্লাউড ফায়ারস্টোর দিয়ে শুরু করুন

এই কুইকস্টার্ট আপনাকে দেখায় কিভাবে ক্লাউড ফায়ারস্টোর সেট আপ করতে হয়, ডেটা যোগ করতে হয়, তারপরে Firebase কনসোলে আপনার যোগ করা ডেটা দেখুন।

একটি ক্লাউড ফায়ারস্টোর ডাটাবেস তৈরি করুন

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, একটি Firebase প্রকল্প তৈরি করুন: Firebase কনসোলে , প্রকল্প যোগ করুন ক্লিক করুন, তারপর একটি Firebase প্রকল্প তৈরি করতে বা একটি বিদ্যমান GCP প্রকল্পে Firebase পরিষেবা যোগ করতে অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।

  2. Firebase কনসোলের ক্লাউড ফায়ারস্টোর বিভাগে নেভিগেট করুন। আপনাকে একটি বিদ্যমান ফায়ারবেস প্রকল্প নির্বাচন করতে বলা হবে। ডাটাবেস তৈরির কর্মপ্রবাহ অনুসরণ করুন।

  3. আপনার ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মের জন্য একটি শুরু মোড নির্বাচন করুন:

    পরীক্ষা মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরিগুলির সাথে শুরু করার জন্য ভাল, তবে যে কেউ আপনার ডেটা পড়তে এবং ওভাররাইট করতে দেয়৷ পরীক্ষা করার পরে, আপনার ডেটা সুরক্ষিত করুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।

    ওয়েব, Apple প্ল্যাটফর্ম বা Android SDK দিয়ে শুরু করতে, পরীক্ষা মোড নির্বাচন করুন।

    লক করা মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সমস্ত পড়া এবং লেখা অস্বীকার করে। আপনার প্রমাণীকৃত অ্যাপ্লিকেশন সার্ভারগুলি (C#, Go, Java, Node.js, PHP, Python, বা Ruby) এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারে৷

    C#, Go, Java, Node.js, PHP, Python, বা Ruby সার্ভার ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করতে, লক করা মোড নির্বাচন করুন।

  4. আপনার ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন.

    • এই লোকেশন সেটিং হল আপনার প্রোজেক্টের ডিফল্ট Google ক্লাউড প্ল্যাটফর্ম (GCP) রিসোর্স লোকেশন । মনে রাখবেন যে এই অবস্থানটি আপনার প্রকল্পের GCP পরিষেবাগুলির জন্য ব্যবহার করা হবে যেগুলির জন্য একটি অবস্থান সেটিং প্রয়োজন, বিশেষত, আপনার ডিফল্ট ক্লাউড স্টোরেজ বাকেট এবং আপনার অ্যাপ ইঞ্জিন অ্যাপ (যা আপনি ক্লাউড শিডিউলার ব্যবহার করলে প্রয়োজন হয়)৷

    • যদি আপনি একটি অবস্থান নির্বাচন করতে সক্ষম না হন, তাহলে আপনার প্রকল্পে ইতিমধ্যেই একটি ডিফল্ট GCP সংস্থান অবস্থান রয়েছে৷ এটি হয় প্রকল্প তৈরির সময় বা অন্য পরিষেবা সেট আপ করার সময় সেট করা হয়েছিল যার জন্য একটি অবস্থান সেটিং প্রয়োজন৷

  5. সম্পন্ন ক্লিক করুন.

আপনি যখন ক্লাউড ফায়ারস্টোর সক্ষম করেন, তখন এটি ক্লাউড এপিআই ম্যানেজারে এপিআই সক্ষম করে।

আপনার উন্নয়ন পরিবেশ সেট আপ করুন

আপনার অ্যাপে প্রয়োজনীয় নির্ভরতা এবং ক্লায়েন্ট লাইব্রেরি যোগ করুন।

Web version 8

  1. আপনার ওয়েব অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. আপনার অ্যাপে Firebase এবং Cloud Firestore লাইব্রেরি যোগ করুন:
    <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-firestore.js"></script>
    ক্লাউড ফায়ারস্টোর SDK একটি npm প্যাকেজ হিসেবেও উপলব্ধ।
    npm install firebase@8.10.1 --save
    
    আপনাকে ম্যানুয়ালি ফায়ারবেস এবং ক্লাউড ফায়ারস্টোর উভয়েরই প্রয়োজন হবে।
    const firebase = require("firebase");
    // Required for side-effects
    require("firebase/firestore");
    

Web version 9

  1. আপনার ওয়েব অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. ক্লাউড ফায়ারস্টোর SDK একটি npm প্যাকেজ হিসাবে উপলব্ধ।
    npm install firebase@9.13.0 --save
    
    আপনাকে ফায়ারবেস এবং ক্লাউড ফায়ারস্টোর উভয়ই আমদানি করতে হবে।
    import { initializeApp } from "firebase/app";
    import { getFirestore } from "firebase/firestore";
    
iOS+

আপনার Apple অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।

ফায়ারবেস নির্ভরতা ইনস্টল এবং পরিচালনা করতে সুইফট প্যাকেজ ম্যানেজার ব্যবহার করুন।

  1. Xcode-এ, আপনার অ্যাপ প্রকল্প খোলার সাথে, ফাইল > সুইফট প্যাকেজ > প্যাকেজ নির্ভরতা যোগ করুন -এ নেভিগেট করুন।
  2. অনুরোধ করা হলে, Firebase Apple প্ল্যাটফর্ম SDK সংগ্রহস্থল যোগ করুন:
  3.   https://github.com/firebase/firebase-ios-sdk
      
  4. ফায়ারস্টোর লাইব্রেরি বেছে নিন।
  5. শেষ হয়ে গেলে, Xcode স্বয়ংক্রিয়ভাবে পটভূমিতে আপনার নির্ভরতাগুলি সমাধান এবং ডাউনলোড করা শুরু করবে।

Java

  1. আপনার Android অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) ক্লাউড ফায়ারস্টোর অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।
    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:31.0.2')
    
        // 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'
    }
    

    Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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.4.0'
    }
    

Kotlin+KTX

  1. আপনার Android অ্যাপে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) ক্লাউড ফায়ারস্টোর অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতা ঘোষণা করুন।
    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:31.0.2')
    
        // 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-ktx'
    }
    

    Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

    (বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

    মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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-ktx:24.4.0'
    }
    

Dart

  1. আপনি যদি ইতিমধ্যে না করে থাকেন, তাহলে আপনার Flutter অ্যাপে Firebase কনফিগার করুন এবং আরম্ভ করুন।
  2. আপনার ফ্লটার প্রজেক্টের রুট থেকে, প্লাগইন ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান:
    flutter pub add cloud_firestore
  3. একবার সম্পূর্ণ হয়ে গেলে, আপনার ফ্লটার অ্যাপ্লিকেশনটি পুনরায় তৈরি করুন:
    flutter run
  4. ঐচ্ছিক: পূর্ব-সংকলিত ফ্রেমওয়ার্ক অন্তর্ভুক্ত করে iOS এবং macOS বিল্ড টাইম উন্নত করুন।

    বর্তমানে, iOS এর জন্য Firestore SDK কোডের উপর নির্ভর করে যা Xcode-এ তৈরি হতে 5 মিনিটের বেশি সময় নিতে পারে। বিল্ড টাইম উল্লেখযোগ্যভাবে কমাতে, আপনি আপনার পডফাইলে target 'Runner' do ডু ব্লকে এই লাইনটি যোগ করে একটি পূর্ব-সংকলিত সংস্করণ ব্যবহার করতে পারেন:

    target 'Runner' do
      pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.15.0'
      # ...
    end

    অতিরিক্তভাবে, নিশ্চিত করুন যে আপনি CocoaPods 1.9.1 বা উচ্চতর:

    gem install cocoapods
    এ আপগ্রেড করেছেন

    আরও তথ্যের জন্য GitHub-এ সমস্যাটি দেখুন।

জাভা
  1. আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    • Gradle ব্যবহার করে:
      compile 'com.google.firebase:firebase-admin:1.32.0'
      
    • Maven ব্যবহার করে:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>1.32.0</version>
      </dependency>
           
  2. আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
পাইথন
  1. আপনার পাইথন অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    pip install --upgrade firebase-admin
  2. আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
সি++
  1. আপনার C++ প্রকল্পে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. অ্যান্ড্রয়েডের জন্য 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. আপনার ইউনিটি প্রকল্পে Firebase যোগ করতে নির্দেশাবলী অনুসরণ করুন।
  2. অ্যান্ড্রয়েডের জন্য ইউনিটি ইন্টারফেস।
  3. Android এর জন্য তৈরি করার সময়, Android DEX সীমা এড়াতে ProGuarding সক্ষম করুন। এটি করতে, ইউনিটি সম্পাদকে:

    1. ফাইল > বিল্ড সেটিংস নির্বাচন করুন
    2. 'প্ল্যাটফর্ম' থেকে 'অ্যান্ড্রয়েড'-এ স্যুইচ করুন এবং 'প্ল্যাটফর্ম পরিবর্তন করুন'-এ ক্লিক করুন
    3. 'প্লেয়ার সেটিংস...' ক্লিক করুন
    4. প্রধান ইউনিটি UI-তে, 'Android এর জন্য সেটিংস'-এর অধীনে, 'পাবলিশিং সেটিংস' নির্বাচন করুন
    5. 'মিনিফাই' বিভাগের অধীনে, রিলিজ এবং ডিবাগ উভয় সেটিংসকে 'কোনটি নয়' থেকে 'প্রোগার্ড'-এ পরিবর্তন করুন
Node.js
  1. আপনার অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    npm install firebase-admin --save
  2. আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
যাওয়া
  1. আপনার Go অ্যাপে Firebase অ্যাডমিন SDK যোগ করুন:
    go get firebase.google.com/go
    
  2. আপনার পরিবেশে যথাযথ শংসাপত্র সহ ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশাবলী অনুসরণ করুন।
পিএইচপি
  1. ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
    • আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে, GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন
  2. PHP-এর জন্য gRPC এক্সটেনশন ইনস্টল এবং সক্ষম করুন, যা আপনাকে ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে হবে।
  3. আপনার অ্যাপে ক্লাউড ফায়ারস্টোর পিএইচপি লাইব্রেরি যোগ করুন:
    composer require google/cloud-firestore
সি#
  1. ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
    • আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে, GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন
  2. আপনার .csproj ফাইলে আপনার অ্যাপে ক্লাউড ফায়ারস্টোর সি# লাইব্রেরি যোগ করুন:
    <ItemGroup>
      <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" />
    </ItemGroup>
  3. আপনার Program.cs ফাইলে নিম্নলিখিত যোগ করুন:
    using Google.Cloud.Firestore;
রুবি
  1. ক্লাউড ফায়ারস্টোর সার্ভার ক্লায়েন্ট লাইব্রেরি (Java, Node.js, Python, Go, PHP, C# এবং রুবি) প্রমাণীকরণের জন্য Google অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র ব্যবহার করে।
    • আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট থেকে প্রমাণীকরণ করতে, GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবলকে একটি JSON পরিষেবা অ্যাকাউন্ট কী ফাইলের দিকে নির্দেশ করতে সেট করুন। আপনি API কনসোল শংসাপত্র পৃষ্ঠায় একটি কী ফাইল তৈরি করতে পারেন।
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • আপনার উত্পাদন পরিবেশে, আপনি যদি ক্লাউড ফায়ারস্টোরের জন্য ব্যবহার করেন সেই একই প্রকল্প ব্যবহার করে আপনি অ্যাপ ইঞ্জিন বা কম্পিউট ইঞ্জিনে আপনার অ্যাপ্লিকেশন চালালে আপনাকে প্রমাণীকরণের প্রয়োজন নেই। অন্যথায়, একটি পরিষেবা অ্যাকাউন্ট সেট আপ করুন
  2. আপনার Gemfile আপনার অ্যাপে ক্লাউড ফায়ারস্টোর রুবি লাইব্রেরি যোগ করুন :
    gem "google-cloud-firestore"
  3. ব্যবহার করে আপনার Gemfile থেকে নির্ভরতা ইনস্টল করুন:
    bundle install

(ঐচ্ছিক) ফায়ারবেস স্থানীয় এমুলেটর স্যুটের সাথে প্রোটোটাইপ এবং পরীক্ষা করুন

মোবাইল ডেভেলপারদের জন্য, আপনার অ্যাপ কীভাবে ক্লাউড ফায়ারস্টোর থেকে লেখে এবং পড়ে সে সম্পর্কে কথা বলার আগে, আসুন আমরা ক্লাউড ফায়ারস্টোর কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য ব্যবহার করতে পারেন এমন একটি টুলের সাথে পরিচয় করিয়ে দিই: Firebase লোকাল এমুলেটর স্যুট। আপনি যদি বিভিন্ন ডেটা মডেল চেষ্টা করে থাকেন, আপনার নিরাপত্তা বিধি অপ্টিমাইজ করে থাকেন, বা ব্যাক-এন্ডের সাথে ইন্টারঅ্যাক্ট করার সবচেয়ে সাশ্রয়ী উপায় খুঁজে বের করার জন্য কাজ করছেন, তাহলে লাইভ পরিষেবাগুলি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে।

একটি ক্লাউড ফায়ারস্টোর এমুলেটর স্থানীয় এমুলেটর স্যুটের অংশ, যা আপনার অ্যাপটিকে আপনার অনুকরণ করা ডাটাবেস সামগ্রী এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলি (ফাংশন, অন্যান্য ডাটাবেস এবং সুরক্ষা নিয়ম)।

ক্লাউড ফায়ারস্টোর এমুলেটর ব্যবহার করার জন্য মাত্র কয়েকটি ধাপ জড়িত:

  1. এমুলেটরের সাথে সংযোগ করতে আপনার অ্যাপের পরীক্ষা কনফিগারে কোডের একটি লাইন যোগ করা হচ্ছে।
  2. আপনার স্থানীয় প্রজেক্ট ডিরেক্টরির রুট থেকে, firebase emulators:start
  3. যথারীতি ক্লাউড ফায়ারস্টোর প্ল্যাটফর্ম SDK ব্যবহার করে আপনার অ্যাপের প্রোটোটাইপ কোড থেকে কল করা।

ক্লাউড ফায়ারস্টোর এবং ক্লাউড ফাংশনগুলির সাথে জড়িত একটি বিস্তারিত ওয়াকথ্রু উপলব্ধ। আপনার স্থানীয় এমুলেটর স্যুট ভূমিকাটিও দেখতে হবে।

ক্লাউড ফায়ারস্টোর শুরু করুন

ক্লাউড ফায়ারস্টোরের একটি উদাহরণ শুরু করুন:

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://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
    // ...
};

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


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

`initializeApp`-এর মান আপনার ওয়েব অ্যাপের `firebaseConfig`- এ পাওয়া যাবে। ডিভাইসটি সংযোগ হারিয়ে ফেললে ডেটা বজায় রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।

Web version 8

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

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
    // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


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

`initializeApp`-এর মান আপনার ওয়েব অ্যাপের `firebaseConfig`- এ পাওয়া যাবে। ডিভাইসটি সংযোগ হারিয়ে ফেললে ডেটা বজায় রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।
সুইফট
দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
import FirebaseCore
import FirebaseFirestore
FirebaseApp.configure()

let db = Firestore.firestore()
উদ্দেশ্য গ
দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
@import FirebaseCore;
@import FirebaseFirestore;

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

Java

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

Kotlin+KTX

// Access a Cloud Firestore instance from your Activity
val db = Firebase.firestore

Dart

db = FirebaseFirestore.instance;
জাভা
ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।
  • 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();
    
    এ শুরু করুন
  • আপনার নিজের সার্ভারে আরম্ভ করুন

    আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    ক্লাউড প্ল্যাটফর্ম কনসোলে 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();
    
  • পাইথন
    ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।
  • Google Cloud Platform
    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 ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    ক্লাউড প্ল্যাটফর্ম কনসোলে 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

    ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।
  • Google Cloud Platform
    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 ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    ক্লাউড প্ল্যাটফর্ম কনসোলে 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();
    Node.js
    ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।
    • ক্লাউড ফাংশনে শুরু করুন
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      initializeApp();
      
      const db = getFirestore();
      
    • Google ক্লাউড প্ল্যাটফর্মে শুরু করুন
      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      initializeApp({
        credential: applicationDefault()
      });
      
      const db = getFirestore();
    • আপনার নিজের সার্ভারে আরম্ভ করুন

      আপনার নিজের সার্ভারে (বা অন্য কোন Node.js পরিবেশে) Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন। ক্লাউড প্ল্যাটফর্ম কনসোলে IAM এবং অ্যাডমিন > পরিষেবা অ্যাকাউন্টে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন৷ তারপর SDK আরম্ভ করতে ফাইলটি ব্যবহার করুন:

      const { initializeApp, applicationDefault, cert } = require('firebase-admin/app');
      const { getFirestore, Timestamp, FieldValue } = require('firebase-admin/firestore');
      const serviceAccount = require('./path/to/serviceAccountKey.json');
      
      initializeApp({
        credential: cert(serviceAccount)
      });
      
      const db = getFirestore();
      
    যাওয়া
    ক্লাউড ফায়ারস্টোর SDK আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়। নীচে সবচেয়ে সাধারণ পদ্ধতি আছে। একটি সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন SDK শুরু করুন দেখুন।
  • 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()
    
    এ শুরু করুন
  • আপনার নিজের সার্ভারে আরম্ভ করুন

    আপনার নিজের সার্ভারে Firebase অ্যাডমিন SDK ব্যবহার করতে, একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করুন।

    ক্লাউড প্ল্যাটফর্ম কনসোলে 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 version 9

    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 version 8

    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);
    });
    সুইফট
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    // Add a new document with a generated ID
    var ref: DocumentReference? = nil
    ref = db.collection("users").addDocument(data: [
        "first": "Ada",
        "last": "Lovelace",
        "born": 1815
    ]) { err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            print("Document added with ID: \(ref!.documentID)")
        }
    }
    উদ্দেশ্য গ
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    // 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);
          }
        }];

    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);
                }
            });

    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)
        }

    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(u'users').document(u'alovelace')
    doc_ref.set({
        u'first': u'Ada',
        u'last': u'Lovelace',
        u'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;
      }
    });
    Node.js
    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 version 9

    // 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 version 8

    // 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);
    });
    সুইফট
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    // Add a second document with a generated ID.
    ref = db.collection("users").addDocument(data: [
        "first": "Alan",
        "middle": "Mathison",
        "last": "Turing",
        "born": 1912
    ]) { err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            print("Document added with ID: \(ref!.documentID)")
        }
    }
    উদ্দেশ্য গ
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    // 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);
          }
        }];

    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);
                }
            });

    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)
        }

    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(u'users').document(u'aturing')
    doc_ref.set({
        u'first': u'Alan',
        u'middle': u'Mathison',
        u'last': u'Turing',
        u'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;
          }
        });
    Node.js
    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."

    ডেটা পড়ুন

    আপনি ক্লাউড ফায়ারস্টোরে ডেটা যোগ করেছেন তা দ্রুত যাচাই করতে, Firebase কনসোলে ডেটা ভিউয়ার ব্যবহার করুন।

    আপনি সম্পূর্ণ সংগ্রহ পুনরুদ্ধার করতে "পান" পদ্ধতি ব্যবহার করতে পারেন।

    Web version 9

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

    Web version 8

    db.collection("users").get().then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            console.log(`${doc.id} => ${doc.data()}`);
        });
    });
    সুইফট
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    db.collection("users").getDocuments() { (querySnapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                print("\(document.documentID) => \(document.data())")
            }
        }
    }
    উদ্দেশ্য গ
    দ্রষ্টব্য: এই পণ্যটি watchOS এবং অ্যাপ ক্লিপ লক্ষ্যে উপলব্ধ নয়।
    [[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);
            }
          }
        }];

    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());
                    }
                }
            });

    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)
            }

    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(u'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;
      }
    });
    Node.js
    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

    আপনার ডেটা সুরক্ষিত করুন

    আপনি যদি ওয়েব, অ্যান্ড্রয়েড বা অ্যাপল প্ল্যাটফর্ম SDK ব্যবহার করেন, তাহলে ক্লাউড ফায়ারস্টোরে আপনার ডেটা সুরক্ষিত করতে Firebase প্রমাণীকরণ এবং ক্লাউড ফায়ারস্টোর নিরাপত্তা নিয়মগুলি ব্যবহার করুন৷

    এখানে কিছু মৌলিক নিয়ম সেট রয়েছে যা আপনি শুরু করতে ব্যবহার করতে পারেন। আপনি কনসোলের নিয়ম ট্যাবে আপনার নিরাপত্তা নিয়ম সংশোধন করতে পারেন।

    প্রমাণ প্রয়োজন

    // Allow read/write access on all documents to any user signed in to the application
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if request.auth != null;
        }
      }
    }
    

    লক করা মোড

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

    পরীক্ষা মোড

    // Allow read/write access to all users under any conditions
    // Warning: **NEVER** use this rule set in production; it allows
    // anyone to overwrite your entire database.
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if true;
        }
      }
    }
    

    আপনি উৎপাদনে আপনার ওয়েব, অ্যান্ড্রয়েড বা iOS অ্যাপ স্থাপন করার আগে, শুধুমাত্র আপনার অ্যাপ ক্লায়েন্টরা আপনার ক্লাউড ফায়ারস্টোর ডেটা অ্যাক্সেস করতে পারে তা নিশ্চিত করার জন্য পদক্ষেপ নিন। অ্যাপ চেক ডকুমেন্টেশন দেখুন।

    আপনি যদি সার্ভার SDK-এর একটি ব্যবহার করেন, তাহলে Cloud Firestore-এ আপনার ডেটা সুরক্ষিত করতে আইডেন্টিটি অ্যান্ড অ্যাকসেস ম্যানেজমেন্ট (IAM) ব্যবহার করুন।

    একটি ভিডিও টিউটোরিয়াল দেখুন

    ক্লাউড ফায়ারস্টোর মোবাইল ক্লায়েন্ট লাইব্রেরিগুলির সাথে শুরু করার বিষয়ে বিস্তারিত নির্দেশনার জন্য, নিম্নলিখিত ভিডিও টিউটোরিয়ালগুলির মধ্যে একটি দেখুন:

    ওয়েব
    iOS+
    অ্যান্ড্রয়েড

    আপনি Firebase YouTube চ্যানেলে আরও ভিডিও খুঁজে পেতে পারেন।

    পরবর্তী পদক্ষেপ

    নিম্নলিখিত বিষয়গুলির সাথে আপনার জ্ঞানকে আরও গভীর করুন:

    • কোডল্যাবসAndroid , iOS বা ওয়েবের জন্য কোডল্যাব অনুসরণ করে একটি বাস্তব অ্যাপে ক্লাউড ফায়ারস্টোর ব্যবহার করতে শিখুন।
    • ডেটা মডেল — ক্লাউড ফায়ারস্টোরে কীভাবে ডেটা স্ট্রাকচার করা হয় সে সম্পর্কে আরও জানুন, যার মধ্যে শ্রেণীবদ্ধ ডেটা এবং উপ-সংগ্রহগুলি অন্তর্ভুক্ত।
    • ডেটা যোগ করুন — ক্লাউড ফায়ারস্টোরে ডেটা তৈরি এবং আপডেট করার বিষয়ে আরও জানুন।
    • ডেটা পান — কীভাবে ডেটা পুনরুদ্ধার করতে হয় সে সম্পর্কে আরও জানুন।
    • সহজ এবং যৌগিক প্রশ্নগুলি সম্পাদন করুন — কীভাবে সরল এবং যৌগিক প্রশ্নগুলি চালাতে হয় তা শিখুন।
    • অর্ডার এবং সীমিত ক্যোয়ারী শিখুন কিভাবে অর্ডার করবেন এবং আপনার ক্যোয়ারী দ্বারা প্রত্যাবর্তিত ডেটা সীমিত করবেন।