Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

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

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

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

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

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

  3. আপনার ক্লাউড ফায়ারস্টোর সুরক্ষা বিধিগুলির জন্য একটি সূচনা মোড নির্বাচন করুন:

    পরীক্ষা মোড

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

    ওয়েব, আইওএস বা অ্যান্ড্রয়েড এসডিকে দিয়ে শুরু করতে পরীক্ষা মোডটি নির্বাচন করুন।

    লকড মোড

    মোবাইল এবং ওয়েব ক্লায়েন্টদের থেকে সমস্ত পড়া এবং লেখাকে অস্বীকার করে। আপনার অনুমোদনপ্রাপ্ত অ্যাপ্লিকেশন সার্ভারগুলি (সি #, গো, জাভা, নোড.জেএস, পিএইচপি, পাইথন বা রুবি) এখনও আপনার ডাটাবেস অ্যাক্সেস করতে পারে।

    সি #, গো, জাভা, নোড.জেএস, পিএইচপি, পাইথন বা রুবি সার্ভার ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করতে, লক মোডটি নির্বাচন করুন।

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

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

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

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

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

আপনার বিকাশের পরিবেশ স্থাপন করুন

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

ওয়েব ভি 8

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

ওয়েব ভি 9

  1. আপনার ওয়েব অ্যাপ্লায় ফায়ারবেস যুক্ত করার জন্য নির্দেশাবলী অনুসরণ করুন
  2. ক্লাউড ফায়ারস্টোর এসডিকে এনপিএম প্যাকেজ হিসাবে উপলব্ধ।
    npm install firebase@9.0.0-beta.1 --save
    
    আপনাকে ফায়ারবেস এবং ক্লাউড ফায়ার স্টোর উভয়ই আমদানি করতে হবে। 0 বি 961c8080
আইওএস
  1. আপনার আইওএস অ্যাপে ফায়ারবেস যুক্ত করার জন্য নির্দেশাবলী অনুসরণ করুন
  2. আপনার Podfile
    pod 'Firebase/Firestore'
    
    # Optionally, include the Swift extensions if you're using Swift.
    pod 'FirebaseFirestoreSwift'
    
    এ ক্লাউড ফায়ারস্টোর পোড যুক্ত করুন
  3. ফাইলটি সংরক্ষণ করুন এবং pod install চালান।

জাভা

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

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

কোটলিন + কেটিএক্স

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

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

    (বিকল্প) বিওএম ব্যবহার না করে ফায়ারবেস লাইব্রেরি নির্ভরতা ঘোষণা করুন

    আপনি যদি ফায়ারবেস 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-ktx:23.0.0'
    }
    
জাভা
  1. আপনার অ্যাপে ফায়ারবেস অ্যাডমিন এসডিকে যুক্ত করুন:
    • গ্রেডল ব্যবহার:
      compile 'com.google.firebase:firebase-admin:7.3.0'
      
    • ম্যাভেন ব্যবহার:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>7.3.0</version>
      </dependency>
           
  2. আপনার পরিবেশে যথাযথ শংসাপত্রগুলির সাথে ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশিকাগুলি অনুসরণ করুন।
পাইথন
  1. আপনার পাইথন অ্যাপটিতে ফায়ারবেস অ্যাডমিন এসডিকে যুক্ত করুন:
    pip install --upgrade firebase-admin
    :
  2. আপনার পরিবেশে যথাযথ শংসাপত্রগুলির সাথে ক্লাউড ফায়ারস্টোর শুরু করতে নীচের নির্দেশিকাগুলি অনুসরণ করুন।
সি ++
  1. আপনার সি ++ প্রকল্পে ফায়ারবেস যুক্ত করার জন্য নির্দেশাবলী অনুসরণ করুন।
  2. অ্যান্ড্রয়েডের জন্য সি ++ ইন্টারফেস।
    • গ্রেডল নির্ভরতা। আপনার মডিউলটিতে (অ্যাপ্লিকেশন-স্তরের) গ্রেডল ফাইল (সাধারণত 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 আপনার 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. ডেস্কটপ ইন্টিগ্রেশন সেট আপ করতে, আপনার সি ++ প্রকল্পে ফায়ারবেস যুক্ত করুন
.ক্য
  1. আপনার ইউনিটি প্রকল্পে ফায়ারবেস যুক্ত করার জন্য নির্দেশাবলী অনুসরণ করুন
  2. অ্যান্ড্রয়েডের জন্য ityক্য ইন্টারফেস।
  3. অ্যান্ড্রয়েডের জন্য বিল্ডিং করার সময়, অ্যান্ড্রয়েড ডেক্স সীমাটি এড়াতে প্রোগর্ডিং সক্ষম করুন। এটি করার জন্য, ইউনিটির সম্পাদক:

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

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

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

ক্লাউড ফায়ার স্টোর এমুলেটরটি স্থানীয় এমুলেটর স্যুটের অংশ, যা আপনার অ্যাপ্লিকেশনটিকে আপনার অনুকরণকৃত ডেটাবেস সামগ্রী এবং কনফিগারেশনের পাশাপাশি optionচ্ছিকভাবে আপনার এমুলেটেড প্রকল্পের সংস্থানসমূহ (ফাংশন, অন্যান্য ডাটাবেস এবং সুরক্ষা বিধি) সক্ষম করে। মনে রাখবেন যে স্থানীয় এমুলেটর স্যুট এখনও এমুলেটেড ক্লাউড স্টোরেজ সমর্থন করে না।

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

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

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

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

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

ওয়েব ভি 8

// Initialize Cloud Firestore through Firebase
firebase.initializeApp({
  apiKey: '### FIREBASE API KEY ###',
  authDomain: '### FIREBASE AUTH DOMAIN ###',
  projectId: '### CLOUD FIRESTORE PROJECT ID ###'
});

var db = firebase.firestore();
আপনার ওয়েব অ্যাপ্লিকেশনটির `ফায়ারবেস কনফিগ`-এ` প্রাথমিককরণ অ্যাপ্লিকেশনটির মানগুলি পাওয়া যাবে ` ডিভাইসটির সংযোগ হারালে ডেটা ধরে রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।

ওয়েব ভি 9

// Initialize Cloud Firestore through Firebase
import { initializeApp } from "firebase/app"
import { getFirestore } from "firebase/firestore"
const firebaseApp = initializeApp({
  apiKey: '### FIREBASE API KEY ###',
  authDomain: '### FIREBASE AUTH DOMAIN ###',
  projectId: '### CLOUD FIRESTORE PROJECT ID ###'
});

const db = getFirestore();
আপনার ওয়েব অ্যাপ্লিকেশনটির `ফায়ারবেস কনফিগ`-এ` প্রাথমিককরণ অ্যাপ্লিকেশনটির মানগুলি পাওয়া যাবে ` ডিভাইসটির সংযোগ হারালে ডেটা ধরে রাখতে, অফলাইন ডেটা ডকুমেন্টেশন সক্ষম করুন দেখুন।
সুইফট
import Firebase
FirebaseApp.configure()

let db = Firestore.firestore()
উদ্দেশ্য গ
@import Firebase;

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

জাভা

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

কোটলিন + কেটিএক্স

// Access a Cloud Firestore instance from your Activity
val db = Firebase.firestore
জাভা
ক্লাউড ফায়ারস্টোর এসডিকে আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়েছে। নীচে সবচেয়ে সাধারণ পদ্ধতি রয়েছে। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন এসডিকে শুরু করুন দেখুন।
  • গুগল ক্লাউড প্ল্যাটফর্ম
    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();
    
    সূচনা করুন
  • আপনার নিজের সার্ভারে আরম্ভ করুন

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

    ক্লাউড প্ল্যাটফর্ম কনসোলের আইএএম এবং প্রশাসক> পরিষেবা অ্যাকাউন্টগুলিতে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন। তারপরে এসডিকে আরম্ভ করার জন্য ফাইলটি ব্যবহার করুন:

    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();
    
  • পাইথন
    ক্লাউড ফায়ারস্টোর এসডিকে আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়েছে। নীচে সবচেয়ে সাধারণ পদ্ধতি রয়েছে। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন এসডিকে শুরু করুন দেখুন।
  • গুগল ক্লাউড প্ল্যাটফর্ম
    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, {
      'projectId': project_id,
    })
    
    db = firestore.client()
    
    শুরু করুন
  • আপনার নিজের সার্ভারে আরম্ভ করুন

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

    ক্লাউড প্ল্যাটফর্ম কনসোলের আইএএম এবং প্রশাসক> পরিষেবা অ্যাকাউন্টগুলিতে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন। তারপরে এসডিকে আরম্ভ করার জন্য ফাইলটি ব্যবহার করুন:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    
    # Use a service account
    cred = credentials.Certificate('path/to/serviceAccount.json')
    firebase_admin.initialize_app(cred)
    
    db = firestore.client()
    
  • সি ++
    // Make sure the call to `Create()` happens some time before you call Firestore::GetInstance().
    App::Create();
    Firestore* db = Firestore::GetInstance();
    নোড.জেএস
    ক্লাউড ফায়ারস্টোর এসডিকে আপনার পরিবেশের উপর নির্ভর করে বিভিন্ন উপায়ে শুরু করা হয়েছে। নীচে সবচেয়ে সাধারণ পদ্ধতি রয়েছে। সম্পূর্ণ রেফারেন্সের জন্য, অ্যাডমিন এসডিকে শুরু করুন দেখুন।
    • মেঘ ফাংশনগুলি
      const admin = require('firebase-admin');
      admin.initializeApp();
      
      const db = admin.firestore();
      
      শুরু করুন
    • গুগল ক্লাউড প্ল্যাটফর্ম
      const admin = require('firebase-admin');
      admin.initializeApp({
        credential: admin.credential.applicationDefault()
      });
      
      const db = admin.firestore();
      এ শুরু করুন
    • আপনার নিজের সার্ভারে আরম্ভ করুন

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

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

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

    ক্লাউড প্ল্যাটফর্ম কনসোলের আইএএম এবং প্রশাসক> পরিষেবা অ্যাকাউন্টগুলিতে যান। একটি নতুন ব্যক্তিগত কী তৈরি করুন এবং JSON ফাইলটি সংরক্ষণ করুন। তারপরে এসডিকে আরম্ভ করার জন্য ফাইলটি ব্যবহার করুন:

    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.
     * ```
     * initialize();
     * ```
     */
    function initialize()
    {
        // Create the Cloud Firestore client
        $db = new FirestoreClient();
        printf('Created Cloud Firestore client with default project ID.' . PHP_EOL);
    }
    .ক্য
    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"
    
    firestore = Google::Cloud::Firestore.new project_id: project_id
    
    puts "Created Cloud Firestore client with given project ID."

    ডেটা যুক্ত করুন

    ক্লাউড ফায়ার স্টোর ডকুমেন্টগুলিতে ডেটা সঞ্চয় করে, যা সংগ্রহে সঞ্চিত থাকে। ক্লাউড ফায়ার স্টোর আপনি প্রথমবার যখন নথিতে ডেটা যুক্ত করেন নিখুঁতভাবে সংগ্রহ এবং নথি তৈরি করে। আপনার স্পষ্টভাবে সংগ্রহ বা দস্তাবেজ তৈরি করার দরকার নেই।

    নিম্নলিখিত উদাহরণ কোডটি ব্যবহার করে একটি নতুন সংগ্রহ এবং একটি নথি তৈরি করুন।

    ওয়েব ভি 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);
    });

    ওয়েব ভি 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);
    }
    সুইফট
    // 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)")
        }
    }
    উদ্দেশ্য গ
    // 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);
          }
        }];

    জাভা

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

    কোটলিন + কেটিএক্স

    // 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)
        }
    জাভা
    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
    })
    সি ++
    // 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()
                  << '\n';
      } else {
        std::cout << "Error adding document: " << future.error_message() << '\n';
      }
    });
    নোড.জেএস
    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('users')->document('lovelace');
    $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 সংগ্রহে অন্য একটি দস্তাবেজ যুক্ত করুন। লক্ষ্য করুন যে এই নথিতে একটি মূল-মান জুটি (মাঝের নাম) রয়েছে যা প্রথম নথিতে উপস্থিত হয় না। কোনও সংগ্রহের নথিতে তথ্যের বিভিন্ন সেট থাকতে পারে।

    ওয়েব ভি 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);
    });

    ওয়েব ভি 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);
    }
    সুইফট
    // 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)")
        }
    }
    উদ্দেশ্য গ
    // 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);
          }
        }];

    জাভা

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

    কোটলিন + কেটিএক্স

    // 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)
        }
    জাভা
    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
    })
    সি ++
    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() << '\n';
          } else {
            std::cout << "Error adding document: " << future.error_message()
                      << '\n';
          }
        });
    নোড.জেএস
    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('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."

    তথ্য পড়ুন

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

    পুরো সংগ্রহটি পুনরুদ্ধার করতে আপনি "get" পদ্ধতিটিও ব্যবহার করতে পারেন।

    ওয়েব ভি 8

    db.collection("users").get().then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            console.log(`${doc.id} => ${doc.data()}`);
        });
    });

    ওয়েব ভি 9

    import { collection, getDocs } from "firebase/firestore"; 
    
    const querySnapshot = await getDocs(collection(db, "users"));
    querySnapshot.forEach((doc) => {
      console.log(`${doc.id} => ${doc.data()}`);
    });
    সুইফট
    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())")
            }
        }
    }
    উদ্দেশ্য গ
    [[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);
            }
          }
        }];

    জাভা

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

    কোটলিন + কেটিএক্স

    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)
            }
    জাভা
    // 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()}')
    সি ++
    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 << '\n';
        }
      } else {
        std::cout << "Error getting documents: " << future.error_message()
                  << '\n';
      }
    });
    নোড.জেএস
    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('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 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;
        }
      }
    }
    

    আপনি যদি সার্ভারের মধ্যে একটি এসডিকে ব্যবহার করেন তবে ক্লাউড ফায়ার স্টোরে আপনার ডেটা সুরক্ষিত করতে পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট (আইএএম) ব্যবহার করুন।

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

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

    ওয়েব ভি 8

    আইওএস
    অ্যান্ড্রয়েড

    আপনি ফায়ারবেস ইউটিউব চ্যানেলে আরও ভিডিও পেতে পারেন।

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

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