เริ่มต้นใช้งาน Cloud Firestore

การเริ่มต้นอย่างรวดเร็วนี้จะแสดงวิธีตั้งค่า Cloud Firestore เพิ่มข้อมูล จากนั้นดูข้อมูลที่คุณเพิ่งเพิ่มในคอนโซล Firebase

สร้างฐานข้อมูล Cloud Firestore

  1. หากคุณยังไม่ได้สร้างโครงการ Firebase: ใน Firebase คอนโซล คลิกเพิ่มโครงการจากนั้นทำตามคำแนะนำบนหน้าจอเพื่อสร้างโครงการ Firebase หรือเพื่อเพิ่มบริการ Firebase จะเป็นโครงการที่มีอยู่ GCP

  2. นำทางไปยังส่วนเมฆ FireStore ของ คอนโซล Firebase คุณจะได้รับแจ้งให้เลือกโปรเจ็กต์ Firebase ที่มีอยู่ ติดตามเวิร์กโฟลว์การสร้างฐานข้อมูล

  3. เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัยของ Cloud Firestore:

    โหมดทดสอบ

    เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์มือถือและเว็บ แต่อนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากการทดสอบให้แน่ใจว่าจะตรวจสอบ การรักษาความปลอดภัยข้อมูลของคุณ ส่วน

    ในการเริ่มต้นใช้งานเว็บ, iOS หรือ Android SDK ให้เลือกโหมดทดสอบ

    โหมดล็อค

    ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอนต์มือถือและเว็บ แอปพลิเคชันเซิร์ฟเวอร์ที่ผ่านการตรวจสอบสิทธิ์ของคุณ (C#, Go, Java, Node.js, PHP, Python หรือ Ruby) ยังคงเข้าถึงฐานข้อมูลของคุณได้

    ในการเริ่มต้นใช้งานไลบรารีไคลเอ็นต์เซิร์ฟเวอร์ C#, Go, Java, Node.js, PHP, Python หรือ Ruby ให้เลือกโหมดล็อก

  4. เลือก สถานที่ สำหรับฐานข้อมูลของคุณ

    • การตั้งค่าสถานที่แห่งนี้เป็นโครงการของ แพลทฟอร์มเริ่มต้น Google Cloud (GCP) ที่ตั้งของทรัพยากร โปรดทราบว่าสถานที่แห่งนี้จะถูกใช้สำหรับการให้บริการ GCP ในโครงการของคุณที่ต้องมีการตั้งค่าสถานที่โดยเฉพาะอย่างเริ่มต้นของคุณ Cloud Storage ถังของคุณและ App Engine แอป (ซึ่งเป็นสิ่งจำเป็นถ้าคุณใช้ระบบคลาวด์จัดตารางเวลา)

    • หากคุณเลือกสถานที่ไม่ได้ แสดงว่าโปรเจ็กต์ของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว มันถูกตั้งค่าระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่ง

  5. คลิกเสร็จสิ้น

เมื่อคุณเปิดใช้งานระบบคลาวด์ FireStore มันยังช่วยให้ API ในที่ API จัดการระบบคลาวด์

ตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ

เพิ่มการพึ่งพาและไลบรารีไคลเอ็นต์ที่จำเป็นในแอปของคุณ

เว็บ v8

  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase เพื่อ app เว็บของคุณ
  2. เพิ่ม Firebase และเมฆ FireStore ห้องสมุดแอปของคุณ:
    <script src="https://www.gstatic.com/firebasejs/8.8.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.8.1/firebase-firestore.js"></script>
    เมฆ FireStore SDK ยังมีอยู่เป็นแพคเกจ NPM
    npm install firebase@8.8.1 --save
    
    คุณจะต้องต้องมีทั้ง Firebase และเมฆ FireStore ด้วยตนเอง
    const firebase = require("firebase");
    // Required for side-effects
    require("firebase/firestore");
    

เว็บ v9

  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase เพื่อ app เว็บของคุณ
  2. Cloud Firestore SDK พร้อมใช้งานเป็นแพ็คเกจ npm
    npm install firebase@9.0.0-beta.7 --save
    
    คุณจะต้องนำเข้าทั้ง Firebase และเมฆ FireStore
    import { initializeApp } from "firebase/app";
    import { getFirestore } from "firebase/firestore";
    
iOS
  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase ไปยังแอป iOS ของคุณ
  2. เพิ่มฝักเมฆ FireStore ที่คุณ Podfile
    pod 'Firebase/Firestore'
    
    # Optionally, include the Swift extensions if you're using Swift.
    pod 'FirebaseFirestoreSwift'
    
  3. บันทึกไฟล์และเรียกใช้ pod install

Java

  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase ไปยังแอป Android ของคุณ
  2. ใช้ Firebase Android BoM ประกาศพึ่งพาสำหรับห้องสมุดเมฆ FireStore Android ในโมดูลของคุณ (app ระดับ) ไฟล์ Gradle (ปกติ app/build.gradle )
    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.3.0')
    
        // Declare the dependency for the Cloud Firestore library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-firestore'
    }
    

    โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

    (ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

    หากคุณเลือกที่จะไม่ใช้ 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:23.0.3'
    }
    

คอตลิน+KTX

  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase ไปยังแอป Android ของคุณ
  2. ใช้ Firebase Android BoM ประกาศพึ่งพาสำหรับห้องสมุดเมฆ FireStore Android ในโมดูลของคุณ (app ระดับ) ไฟล์ Gradle (ปกติ app/build.gradle )
    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.3.0')
    
        // Declare the dependency for the Cloud Firestore library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-firestore-ktx'
    }
    

    โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

    (ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

    หากคุณเลือกที่จะไม่ใช้ 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:23.0.3'
    }
    
Java
  1. เพิ่ม Firebase Admin SDK ในแอปของคุณ:
    • ใช้ Gradle:
      compile 'com.google.firebase:firebase-admin:8.0.0'
      
    • ใช้ Maven:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>8.0.0</version>
      </dependency>
           
  2. ทำตามคำแนะนำด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลประจำตัวที่เหมาะสมในสภาพแวดล้อมของคุณ
Python
  1. เพิ่ม Firebase SDK ผู้ดูแลระบบเพื่อ app หลามของคุณ:
    pip install --upgrade firebase-admin
  2. ทำตามคำแนะนำด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลประจำตัวที่เหมาะสมในสภาพแวดล้อมของคุณ
C++
  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase กับ C ++ โครงการของคุณ
  2. อินเทอร์เฟซ C++ สำหรับ Android
    • การพึ่งพา Gradle เพิ่มต่อไปนี้เพื่อโมดูลของคุณ (app ระดับ) ไฟล์ Gradle (ปกติ 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. การตั้งค่าการรวมเดสก์ทอปดู เพิ่ม Firebase กับ C ++ โครงการของคุณ
ความสามัคคี
  1. ตามคำแนะนำเพื่อ เพิ่ม Firebase กับโครงการความสามัคคีของคุณ
  2. อินเทอร์เฟซ Unity สำหรับ Android
  3. เมื่อสร้างสำหรับ Android ให้เปิดใช้งาน ProGuarding เพื่อหลีกเลี่ยงขีดจำกัด Android DEX ในการทำเช่นนั้น ในตัวแก้ไข Unity:

    1. เลือกไฟล์ > สร้างการตั้งค่า Build
    2. เปลี่ยน 'แพลตฟอร์ม' เป็น 'Android' และคลิก 'สลับแพลตฟอร์ม'
    3. คลิก 'การตั้งค่าผู้เล่น…'
    4. ใน Unity UI หลัก ภายใต้ 'การตั้งค่าสำหรับ Android' เลือก 'การตั้งค่าการเผยแพร่'
    5. ในส่วน 'ลดขนาด' ให้เปลี่ยนทั้งการตั้งค่าการวางจำหน่ายและการดีบักจาก 'ไม่มี' เป็น 'ProGuard'
Node.js
  1. เพิ่ม Firebase SDK ผู้ดูแลระบบเพื่อ app ของคุณ:
    npm install firebase-admin --save
  2. ทำตามคำแนะนำด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลประจำตัวที่เหมาะสมในสภาพแวดล้อมของคุณ
ไป
  1. เพิ่ม Firebase SDK ผู้ดูแลระบบเพื่อ app ไปของคุณ:
    go get firebase.google.com/go
    
  2. ทำตามคำแนะนำด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลประจำตัวที่เหมาะสมในสภาพแวดล้อมของคุณ
PHP
  1. เมฆ FireStore ห้องสมุดลูกค้าเซิร์ฟเวอร์ (Java, Node.js, Python, Go, PHP, C # และทับทิม) การใช้งาน Google เริ่มต้นการประยุกต์ใช้ข้อมูลประจำตัว สำหรับการตรวจสอบ
    • ในการตรวจสอบจากการพัฒนาสภาพแวดล้อมของคุณให้ตั้ง GOOGLE_APPLICATION_CREDENTIALS ตัวแปรสภาพแวดล้อมที่จะชี้ไปที่การให้บริการไฟล์กุญแจบัญชี JSON คุณสามารถสร้างไฟล์ที่สำคัญเกี่ยวกับ API คอนโซลหน้าข้อมูลประจำตัว
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • ในสภาพแวดล้อมการใช้งานจริง คุณไม่จำเป็นต้องตรวจสอบสิทธิ์หากคุณเรียกใช้แอปพลิเคชันบน App Engine หรือ Compute Engine โดยใช้โปรเจ็กต์เดียวกับที่คุณใช้สำหรับ Cloud Firestore มิฉะนั้น การตั้งค่าบัญชีผู้ใช้บริการ
  2. ติดตั้งและเปิดใช้งาน ส่วนขยาย gRPC สำหรับ PHP ซึ่งคุณจะต้องใช้ห้องสมุดลูกค้า
  3. เพิ่มห้องสมุดเมฆ FireStore PHP แอปของคุณ:
    composer require google/cloud-firestore
ค#
  1. เมฆ FireStore ห้องสมุดลูกค้าเซิร์ฟเวอร์ (Java, Node.js, Python, Go, PHP, C # และทับทิม) การใช้งาน Google เริ่มต้นการประยุกต์ใช้ข้อมูลประจำตัว สำหรับการตรวจสอบ
    • ในการตรวจสอบจากการพัฒนาสภาพแวดล้อมของคุณให้ตั้ง GOOGLE_APPLICATION_CREDENTIALS ตัวแปรสภาพแวดล้อมที่จะชี้ไปที่การให้บริการไฟล์กุญแจบัญชี JSON คุณสามารถสร้างไฟล์ที่สำคัญเกี่ยวกับ API คอนโซลหน้าข้อมูลประจำตัว
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • ในสภาพแวดล้อมการใช้งานจริง คุณไม่จำเป็นต้องตรวจสอบสิทธิ์หากคุณเรียกใช้แอปพลิเคชันบน App Engine หรือ Compute Engine โดยใช้โปรเจ็กต์เดียวกับที่คุณใช้สำหรับ Cloud Firestore มิฉะนั้น การตั้งค่าบัญชีผู้ใช้บริการ
  2. เพิ่มเมฆ FireStore C # ห้องสมุดแอปของคุณในของคุณ .csproj ไฟล์:
    <ItemGroup>
      <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" />
    </ItemGroup>
  3. เพิ่มต่อไปนี้เพื่อคุณ Program.cs ไฟล์:
    using Google.Cloud.Firestore;
ทับทิม
  1. เมฆ FireStore ห้องสมุดลูกค้าเซิร์ฟเวอร์ (Java, Node.js, Python, Go, PHP, C # และทับทิม) การใช้งาน Google เริ่มต้นการประยุกต์ใช้ข้อมูลประจำตัว สำหรับการตรวจสอบ
    • ในการตรวจสอบจากการพัฒนาสภาพแวดล้อมของคุณให้ตั้ง GOOGLE_APPLICATION_CREDENTIALS ตัวแปรสภาพแวดล้อมที่จะชี้ไปที่การให้บริการไฟล์กุญแจบัญชี JSON คุณสามารถสร้างไฟล์ที่สำคัญเกี่ยวกับ API คอนโซลหน้าข้อมูลประจำตัว
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • ในสภาพแวดล้อมที่ใช้งานจริง คุณไม่จำเป็นต้องตรวจสอบสิทธิ์หากคุณเรียกใช้แอปพลิเคชันบน App Engine หรือ Compute Engine โดยใช้โปรเจ็กต์เดียวกับที่คุณใช้สำหรับ Cloud Firestore มิฉะนั้น การตั้งค่าบัญชีผู้ใช้บริการ
  2. เพิ่มห้องสมุดเมฆ FireStore ทับทิมแอปของคุณในของคุณ Gemfile :
    gem "google-cloud-firestore"
  3. ติดตั้งการอ้างอิงจาก Gemfile ใช้:
    bundle install

(ไม่บังคับ) ต้นแบบและทดสอบด้วย Firebase Local Emulator Suite

สำหรับนักพัฒนามือถือ ก่อนพูดถึงวิธีที่แอปของคุณเขียนและอ่านจาก Cloud Firestore เรามาแนะนำชุดเครื่องมือที่คุณสามารถใช้เพื่อสร้างต้นแบบและทดสอบการทำงานของ Cloud Firestore: Firebase Local Emulator Suite หากคุณกำลังทดลองใช้โมเดลข้อมูลต่างๆ เพิ่มประสิทธิภาพกฎความปลอดภัย หรือพยายามหาวิธีที่คุ้มค่าที่สุดในการโต้ตอบกับแบ็กเอนด์ ความสามารถในการทำงานในพื้นที่โดยไม่ต้องปรับใช้บริการสดอาจเป็นแนวคิดที่ดี

โปรแกรมจำลอง Cloud Firestore เป็นส่วนหนึ่งของ Local Emulator Suite ซึ่งช่วยให้แอปของคุณสามารถโต้ตอบกับเนื้อหาและการกำหนดค่าฐานข้อมูลที่จำลองได้ รวมถึงทรัพยากรโครงการจำลอง (ฟังก์ชัน ฐานข้อมูลอื่นๆ และกฎความปลอดภัย)

การใช้โปรแกรมจำลอง Cloud Firestore มีเพียงไม่กี่ขั้นตอน:

  1. การเพิ่มบรรทัดโค้ดในการกำหนดค่าการทดสอบของแอปเพื่อเชื่อมต่อกับโปรแกรมจำลอง
  2. จากรากของไดเรกทอรีโครงการท้องถิ่นของคุณทำงาน firebase emulators:start
  3. โทรจากโค้ดต้นแบบของแอปโดยใช้ SDK ของแพลตฟอร์ม Cloud Firestore ตามปกติ

รายละเอียด คำแนะนำที่เกี่ยวข้องกับระบบคลาวด์ FireStore และฟังก์ชั่นคลาวด์ สามารถใช้ได้ นอกจากนี้คุณควรมีลักษณะที่มี การแนะนำท้องถิ่น Emulator ห้องสวีท

เริ่มต้น Cloud Firestore

เริ่มต้นอินสแตนซ์ของ Cloud Firestore:

เว็บ v8

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

var db = firebase.firestore();
ค่า `initializeApp` สามารถพบได้ในเว็บแอปของคุณ ` firebaseConfig` ยังคงมีอยู่ข้อมูลเมื่ออุปกรณ์ที่สูญเสียการเชื่อมต่อให้ดูที่ การเปิดใช้งานออฟไลน์ข้อมูล เอกสาร

เว็บ v9

// 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();
ค่า `initializeApp` สามารถพบได้ในเว็บแอปของคุณ ` firebaseConfig` ยังคงมีอยู่ข้อมูลเมื่ออุปกรณ์ที่สูญเสียการเชื่อมต่อให้ดูที่ การเปิดใช้งานออฟไลน์ข้อมูล เอกสาร
Swift
import Firebase
FirebaseApp.configure()

let db = Firestore.firestore()
วัตถุประสงค์-C
@import Firebase;

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

คอตลิน+KTX

// Access a Cloud Firestore instance from your Activity
val db = Firebase.firestore
Java
Cloud Firestore SDK เริ่มต้นได้หลายวิธีขึ้นอยู่กับสภาพแวดล้อมของคุณ ด้านล่างนี้เป็นวิธีการทั่วไป สำหรับการอ้างอิงที่สมบูรณ์โปรดดู การเตรียม SDK ผู้ดูแลระบบ
  • เริ่มต้นบนแพลตฟอร์ม Google Cloud
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.cloud.firestore.Firestore;
    
    import com.google.firebase.FirebaseApp;
    import com.google.firebase.FirebaseOptions;
    
    // Use the application default credentials
    GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
    FirebaseOptions options = new FirebaseOptions.Builder()
        .setCredentials(credentials)
        .setProjectId(projectId)
        .build();
    FirebaseApp.initializeApp(options);
    
    Firestore db = FirestoreClient.getFirestore();
    
  • เริ่มต้นบนเซิร์ฟเวอร์ของคุณเอง

    เมื่อต้องการใช้ Firebase SDK ผู้ดูแลระบบบนเซิร์ฟเวอร์ของคุณเองให้ใช้ บัญชีผู้ใช้บริการ

    Go to 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();
    
  • Python
    Cloud Firestore SDK เริ่มต้นได้หลายวิธีขึ้นอยู่กับสภาพแวดล้อมของคุณ ด้านล่างนี้เป็นวิธีการทั่วไป สำหรับการอ้างอิงที่สมบูรณ์โปรดดู การเตรียม SDK ผู้ดูแลระบบ
  • เริ่มต้นบนแพลตฟอร์ม Google Cloud
    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()
    
  • เริ่มต้นบนเซิร์ฟเวอร์ของคุณเอง

    เมื่อต้องการใช้ Firebase SDK ผู้ดูแลระบบบนเซิร์ฟเวอร์ของคุณเองให้ใช้ บัญชีผู้ใช้บริการ

    Go to 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')
    firebase_admin.initialize_app(cred)
    
    db = firestore.client()
    
  • Python

    Cloud Firestore SDK เริ่มต้นได้หลายวิธีขึ้นอยู่กับสภาพแวดล้อมของคุณ ด้านล่างนี้เป็นวิธีการทั่วไป สำหรับการอ้างอิงที่สมบูรณ์โปรดดู การเตรียม SDK ผู้ดูแลระบบ
  • เริ่มต้นบนแพลตฟอร์ม Google Cloud
    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.AsyncClient()
    
  • เริ่มต้นบนเซิร์ฟเวอร์ของคุณเอง

    เมื่อต้องการใช้ Firebase SDK ผู้ดูแลระบบบนเซิร์ฟเวอร์ของคุณเองให้ใช้ บัญชีผู้ใช้บริการ

    Go to 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')
    firebase_admin.initialize_app(cred)
    
    db = firestore.AsyncClient()
    
  • C++
    // Make sure the call to `Create()` happens some time before you call Firestore::GetInstance().
    App::Create();
    Firestore* db = Firestore::GetInstance();
    Node.js
    Cloud Firestore SDK เริ่มต้นได้หลายวิธีขึ้นอยู่กับสภาพแวดล้อมของคุณ ด้านล่างนี้เป็นวิธีการทั่วไป สำหรับการอ้างอิงที่สมบูรณ์โปรดดู การเตรียม SDK ผู้ดูแลระบบ
    • เริ่มต้นในฟังก์ชั่นคลาวด์
      const admin = require('firebase-admin');
      admin.initializeApp();
      
      const db = admin.firestore();
      
    • เริ่มต้นบนแพลตฟอร์ม Google Cloud
      const admin = require('firebase-admin');
      admin.initializeApp({
        credential: admin.credential.applicationDefault()
      });
      
      const db = admin.firestore();
    • เริ่มต้นบนเซิร์ฟเวอร์ของคุณเอง

      เมื่อต้องการใช้ Firebase SDK ผู้ดูแลระบบบนเซิร์ฟเวอร์ของคุณเอง (หรือสภาพแวดล้อม Node.js อื่น ๆ ) ให้ใช้ บัญชีผู้ใช้บริการ Go to IAM และผู้ดูแลระบบ> บัญชีบริการ ในคอนโซลแพลตฟอร์มคลาวด์ สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ JSON จากนั้นใช้ไฟล์เพื่อเริ่มต้น SDK:

      const admin = require('firebase-admin');
      const serviceAccount = require('./path/to/serviceAccountKey.json');
      
      admin.initializeApp({
        credential: admin.credential.cert(serviceAccount)
      });
      
      const db = admin.firestore();
      
    ไป
    Cloud Firestore SDK เริ่มต้นได้หลายวิธีขึ้นอยู่กับสภาพแวดล้อมของคุณ ด้านล่างนี้เป็นวิธีการทั่วไป สำหรับการอ้างอิงที่สมบูรณ์โปรดดู การเตรียม SDK ผู้ดูแลระบบ
  • เริ่มต้นบนแพลตฟอร์ม Google Cloud
    import (
      "log"
    
      firebase "firebase.google.com/go"
      "google.golang.org/api/option"
    )
    
    // Use the application default credentials
    ctx := context.Background()
    conf := &firebase.Config{ProjectID: projectID}
    app, err := firebase.NewApp(ctx, conf)
    if err != nil {
      log.Fatalln(err)
    }
    
    client, err := app.Firestore(ctx)
    if err != nil {
      log.Fatalln(err)
    }
    defer client.Close()
    
  • เริ่มต้นบนเซิร์ฟเวอร์ของคุณเอง

    เมื่อต้องการใช้ Firebase SDK ผู้ดูแลระบบบนเซิร์ฟเวอร์ของคุณเองให้ใช้ บัญชีผู้ใช้บริการ

    Go to 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()
    
  • PHP
    use Google\Cloud\Firestore\FirestoreClient;
    
    /**
     * Initialize Cloud Firestore with default project ID.
     */
    function setup_client_create()
    {
        // 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"
    
    # 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."

    เพิ่มข้อมูล

    Cloud Firestore จัดเก็บข้อมูลในเอกสาร ซึ่งจัดเก็บไว้ในคอลเล็กชัน Cloud Firestore สร้างคอลเล็กชันและเอกสารโดยนัยในครั้งแรกที่คุณเพิ่มข้อมูลลงในเอกสาร คุณไม่จำเป็นต้องสร้างคอลเลกชันหรือเอกสารอย่างชัดเจน

    สร้างคอลเลกชันใหม่และเอกสารโดยใช้โค้ดตัวอย่างต่อไปนี้

    เว็บ v8

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

    เว็บ v9

    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);
    }
    Swift
    // 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)")
        }
    }
    วัตถุประสงค์-C
    // 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);
                }
            });

    คอตลิน+KTX

    // Create a new user with a first and last name
    val user = hashMapOf(
            "first" to "Ada",
            "last" to "Lovelace",
            "born" to 1815
    )
    
    // Add a new document with a generated ID
    db.collection("users")
        .add(user)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }
    Java
    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());
    Python
    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})
    C++
    // 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';
      }
    });
    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)
    }
    PHP
    $docRef = $db->collection('samples/php/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 คอลเลกชัน โปรดสังเกตว่าเอกสารนี้มีคู่คีย์-ค่า (ชื่อกลาง) ที่ไม่ปรากฏในเอกสารแรก เอกสารในคอลเลกชั่นสามารถมีชุดข้อมูลที่แตกต่างกันได้

    เว็บ v8

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

    เว็บ v9

    // 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);
    }
    Swift
    // 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)")
        }
    }
    วัตถุประสงค์-C
    // 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);
                }
            });

    คอตลิน+KTX

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

    อ่านข้อมูล

    ได้อย่างรวดเร็วตรวจสอบว่าคุณได้เพิ่มข้อมูลไปยังระบบคลาวด์ FireStore ใช้โปรแกรมดูข้อมูลใน คอนโซล Firebase

    คุณยังสามารถใช้วิธี "รับ" เพื่อดึงข้อมูลคอลเลกชันทั้งหมดได้

    เว็บ v8

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

    เว็บ v9

    import { collection, getDocs } from "firebase/firestore"; 
    
    const querySnapshot = await getDocs(collection(db, "users"));
    querySnapshot.forEach((doc) => {
      console.log(`${doc.id} => ${doc.data()}`);
    });
    Swift
    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())")
            }
        }
    }
    วัตถุประสงค์-C
    [[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());
                    }
                }
            });

    คอตลิน+KTX

    db.collection("users")
            .get()
            .addOnSuccessListener { result ->
                for (document in result) {
                    Log.d(TAG, "${document.id} => ${document.data}")
                }
            }
            .addOnFailureListener { exception ->
                Log.w(TAG, "Error getting documents.", exception)
            }
    Java
    // 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"));
    }
    Python
    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()}")
    C++
    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';
      }
    });
    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())
    }
    PHP
    $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

    รักษาความปลอดภัยข้อมูลของคุณ

    หากคุณกำลังใช้เว็บ, Android หรือ iOS SDK ใช้ Firebase รับรองความถูกต้อง และ มีเมฆ FireStore กฎการรักษาความปลอดภัย การรักษาความปลอดภัยข้อมูลของคุณในเมฆ FireStore

    ต่อไปนี้คือชุดกฎพื้นฐานบางส่วนที่คุณสามารถใช้เพื่อเริ่มต้น คุณสามารถปรับเปลี่ยนกฎระเบียบความปลอดภัยของคุณใน แท็บกฎ ของคอนโซล

    ต้องมีการตรวจสอบสิทธิ์

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

    หากคุณกำลังใช้หนึ่งใน SDK ของเซิร์ฟเวอร์ใช้ อัตลักษณ์และการจัดการการเข้าถึง (IAM) การรักษาความปลอดภัยข้อมูลของคุณในเมฆ FireStore

    ดูวิดีโอสอน

    สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการเริ่มต้นใช้งานไลบรารี Cloud Firestore สำหรับมือถือและเว็บไคลเอ็นต์ โปรดดูหนึ่งในวิดีโอแนะนำต่อไปนี้:

    เว็บ v8

    iOS
    Android

    คุณสามารถค้นหาวิดีโอเพิ่มเติมใน Firebase ช่อง YouTube

    ขั้นตอนถัดไป

    เพิ่มพูนความรู้ของคุณด้วยหัวข้อต่อไปนี้: