การเริ่มต้นอย่างรวดเร็วนี้จะแสดงวิธีตั้งค่า Cloud Firestore Enterprise Edition, เพิ่มข้อมูล จากนั้นดูข้อมูลที่คุณเพิ่งเพิ่มในFirebaseคอนโซลโดยใช้ไลบรารีของไคลเอ็นต์เซิร์ฟเวอร์ สำหรับ C#, Go, Java, Node.js, PHP, Python และ Ruby
ใช้ไลบรารีของไคลเอ็นต์เหล่านี้เพื่อตั้งค่าสภาพแวดล้อมของเซิร์ฟเวอร์ที่มีสิทธิ์พร้อมสิทธิ์เข้าถึงฐานข้อมูลของคุณอย่างเต็มรูปแบบ
สร้างฐานข้อมูล Cloud Firestore
หากยังไม่ได้สร้างโปรเจ็กต์ Firebase ให้สร้างในFirebaseคอนโซลโดยคลิกเพิ่มโปรเจ็กต์ แล้วทำตามวิธีการบนหน้าจอเพื่อสร้างโปรเจ็กต์ Firebase หรือเพิ่มบริการ Firebase ลงในGoogle Cloudโปรเจ็กต์ที่มีอยู่
เปิดโปรเจ็กต์ในFirebaseคอนโซล ในแผงด้านซ้าย ให้ขยาย สร้าง แล้วเลือก ฐานข้อมูล Firestore
คลิกสร้างฐานข้อมูล
เลือกตำแหน่งสำหรับฐานข้อมูล
หากเลือกตำแหน่งไม่ได้ แสดงว่าระบบได้ตั้งค่า "ตำแหน่งสำหรับทรัพยากร Google Cloud เริ่มต้น" ของโปรเจ็กต์ไว้แล้ว ทรัพยากรบางอย่างของโปรเจ็กต์ (เช่น อินสแตนซ์เริ่มต้น Cloud Firestore) มีการอิงตามตำแหน่งร่วมกัน และ สามารถตั้งค่าตำแหน่งได้ทั้งในระหว่างการสร้างโปรเจ็กต์หรือเมื่อตั้งค่า บริการอื่นที่ใช้การอิงตามตำแหน่งนี้ร่วมกัน
เลือกโหมดเริ่มต้นสำหรับ Cloud Firestore Security Rules
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว อย่าลืมตรวจสอบส่วนรักษาความปลอดภัยให้ข้อมูล
หากต้องการเริ่มต้นใช้งาน SDK ของเว็บ, แพลตฟอร์ม Apple หรือ Android ให้เลือกโหมดทดสอบ
- โหมดโปรดักชัน
ปฏิเสธการอ่านและการเขียนทั้งหมดจากไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ได้รับการตรวจสอบสิทธิ์ (C#, Go, Java, Node.js, PHP, Python หรือ Ruby) จะยังเข้าถึงฐานข้อมูลได้
หากต้องการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์เซิร์ฟเวอร์ C#, Go, Java, Node.js, PHP, Python หรือ Ruby ให้เลือกโหมดการผลิต
ชุด Cloud Firestore Security Rules เริ่มต้นจะมีผลกับฐานข้อมูล Cloud Firestore เริ่มต้น หากสร้างฐานข้อมูลหลายรายการสำหรับโปรเจ็กต์ คุณสามารถทำให้ Cloud Firestore Security Rules ใช้งานได้สำหรับฐานข้อมูลแต่ละรายการ
คลิกสร้าง
เมื่อเปิดใช้ Cloud Firestore ระบบจะเปิดใช้ API ใน Cloud API Manager ด้วย
ตั้งค่าสภาพแวดล้อมในการพัฒนา
เพิ่มทรัพยากร Dependency และไลบรารีของไคลเอ็นต์ที่จำเป็นลงในแอป
Java
- เพิ่ม Firebase Admin SDK ลงในแอปโดยทำดังนี้
-
การใช้ Gradle:
implementation 'com.google.firebase:firebase-admin:9.7.0'
-
การใช้ Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.0</version> </dependency>
-
การใช้ Gradle:
- ทำตามวิธีการด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลเข้าสู่ระบบที่เหมาะสมในสภาพแวดล้อมของคุณ
Python
- เพิ่ม Firebase Admin SDK ลงในแอป Python โดยทำดังนี้
pip install --upgrade firebase-admin
- ทำตามวิธีการด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลเข้าสู่ระบบที่เหมาะสมในสภาพแวดล้อมของคุณ
Node.js
-
เพิ่ม Firebase Admin SDK ลงในแอปโดยทำดังนี้
npm install firebase-admin --save
- ทำตามวิธีการด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลเข้าสู่ระบบที่เหมาะสมในสภาพแวดล้อมของคุณ
Go
- เพิ่ม Firebase Admin SDK ลงในแอป Go โดยทำดังนี้
go get firebase.google.com/go
- ทำตามวิธีการด้านล่างเพื่อเริ่มต้น Cloud Firestore ด้วยข้อมูลเข้าสู่ระบบที่เหมาะสมในสภาพแวดล้อมของคุณ
PHP
-
Cloud Firestore ไลบรารีของไคลเอ็นต์เซิร์ฟเวอร์ (Java, Node.js, Python, Go, PHP, C# และ Ruby) ใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันของ Google
สำหรับการตรวจสอบสิทธิ์
-
หากต้องการตรวจสอบสิทธิ์จากสภาพแวดล้อมการพัฒนา ให้ตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_APPLICATION_CREDENTIALSให้ชี้ไปยังไฟล์คีย์บัญชีบริการ JSON คุณสร้างไฟล์คีย์ได้ ในหน้าข้อมูลเข้าสู่ระบบของ API Consoleexport GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json" - ในสภาพแวดล้อมการใช้งานจริง คุณไม่จำเป็นต้องตรวจสอบสิทธิ์หากเรียกใช้แอปพลิเคชัน ใน App Engine หรือ Compute Engine โดยใช้โปรเจ็กต์เดียวกันกับที่ใช้สำหรับ Cloud Firestore หรือตั้งค่าบัญชีบริการ
-
หากต้องการตรวจสอบสิทธิ์จากสภาพแวดล้อมการพัฒนา ให้ตั้งค่าตัวแปรสภาพแวดล้อม
- ติดตั้งและเปิดใช้ส่วนขยาย gRPC สำหรับ PHP ซึ่งคุณจะต้องใช้ไลบรารีของไคลเอ็นต์
-
เพิ่มไลบรารี PHP ของ Cloud Firestore ลงในแอปโดยทำดังนี้
composer require google/cloud-firestore
Ruby
-
Cloud Firestore ไลบรารีของไคลเอ็นต์เซิร์ฟเวอร์ (Java, Node.js, Python, Go, PHP, C# และ Ruby) ใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันของ Google
สำหรับการตรวจสอบสิทธิ์
-
หากต้องการตรวจสอบสิทธิ์จากสภาพแวดล้อมการพัฒนา ให้ตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_APPLICATION_CREDENTIALSให้ชี้ไปยังไฟล์คีย์บัญชีบริการ JSON คุณสร้างไฟล์คีย์ได้ ในหน้าข้อมูลเข้าสู่ระบบของ API Consoleexport GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- ในสภาพแวดล้อมการใช้งานจริง คุณไม่จำเป็นต้องตรวจสอบสิทธิ์หากเรียกใช้แอปพลิเคชัน ใน App Engine หรือ Compute Engine โดยใช้โปรเจ็กต์เดียวกันกับที่ใช้สำหรับ Cloud Firestore หรือตั้งค่าบัญชีบริการ
-
หากต้องการตรวจสอบสิทธิ์จากสภาพแวดล้อมการพัฒนา ให้ตั้งค่าตัวแปรสภาพแวดล้อม
-
เพิ่มไลบรารี Cloud Firestore Ruby ลงในแอปใน
Gemfileดังนี้gem "google-cloud-firestore"
-
ติดตั้งการอ้างอิงจาก
Gemfileโดยใช้คำสั่งต่อไปนี้bundle install
(ไม่บังคับ) สร้างต้นแบบและทดสอบด้วย Firebase Local Emulator Suite
สำหรับนักพัฒนาแอปบนอุปกรณ์เคลื่อนที่ ก่อนที่จะพูดถึงวิธีที่แอปเขียนและอ่านข้อมูล จาก Cloud Firestore มาทำความรู้จักชุดเครื่องมือที่คุณใช้ สร้างต้นแบบและทดสอบฟังก์ชันการทำงานของ Cloud Firestore กันก่อน Firebase Local Emulator Suite หากคุณกำลังทดลองใช้โมเดลข้อมูลต่างๆ เพิ่มประสิทธิภาพกฎความปลอดภัย หรือพยายามหาวิธีที่คุ้มค่าที่สุด ในการโต้ตอบกับแบ็กเอนด์ การทำงานในเครื่องโดยไม่ต้องติดตั้งใช้งาน บริการที่ใช้งานจริงอาจเป็นไอเดียที่ดี
Cloud Firestoreโปรแกรมจำลองเป็นส่วนหนึ่งของ Local Emulator Suite ซึ่งช่วยให้แอปโต้ตอบกับเนื้อหาและกำหนดค่าฐานข้อมูลจำลอง รวมถึงทรัพยากรโปรเจ็กต์จำลอง (ฟังก์ชัน ฐานข้อมูลอื่นๆ และกฎการรักษาความปลอดภัย) ได้ด้วย (ไม่บังคับ)
การใช้โปรแกรมจำลอง Cloud Firestore มีขั้นตอนเพียงไม่กี่ขั้นตอนดังนี้
- การเพิ่มบรรทัดโค้ดลงในการกำหนดค่าการทดสอบของแอปเพื่อเชื่อมต่อกับโปรแกรมจำลอง
- จากรูทของไดเรกทอรีโปรเจ็กต์ในเครื่อง ให้เรียกใช้
firebase emulators:start - ทำการเรียกจากโค้ดต้นแบบของแอปโดยใช้ Cloud Firestore SDK ของแพลตฟอร์ม ตามปกติ
มีคำแนะนำแบบทีละขั้นตอนโดยละเอียดเกี่ยวกับ Cloud Firestore และ Cloud Functions นอกจากนี้ คุณควรอ่านLocal Emulator Suiteข้อมูลเบื้องต้นด้วย
เริ่มต้น Cloud Firestore
เริ่มต้นอินสแตนซ์ของ Cloud Firestore
Java
Cloud Firestore SDK จะเริ่มต้นในรูปแบบต่างๆ ขึ้นอยู่กับสภาพแวดล้อมของคุณ วิธีการที่พบบ่อยที่สุดมีดังนี้ ดูข้อมูลอ้างอิงทั้งหมดได้ที่ เริ่มต้น Admin SDKimport 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 Admin SDK ในเซิร์ฟเวอร์ของคุณเอง ให้ใช้บัญชีบริการ
ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ในคอนโซล Google Cloud สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ 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 จะเริ่มต้นในรูปแบบต่างๆ ขึ้นอยู่กับสภาพแวดล้อมของคุณ วิธีการที่พบบ่อยที่สุดมีดังนี้ ดูข้อมูลอ้างอิงทั้งหมดได้ที่ เริ่มต้น Admin SDKimport 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 Admin SDK ในเซิร์ฟเวอร์ของคุณเอง ให้ใช้บัญชีบริการ
ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ในคอนโซล Google Cloud สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ JSON จากนั้นใช้ไฟล์เพื่อเริ่มต้น SDK โดยทำดังนี้
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
Cloud Firestore SDK จะเริ่มต้นในรูปแบบต่างๆ ขึ้นอยู่กับสภาพแวดล้อมของคุณ วิธีการที่พบบ่อยที่สุดมีดังนี้ ดูข้อมูลอ้างอิงทั้งหมดได้ที่ เริ่มต้น Admin SDKimport 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 Admin SDK ในเซิร์ฟเวอร์ของคุณเอง ให้ใช้บัญชีบริการ
ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ในคอนโซล Google Cloud สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ 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()
Node.js
Cloud Firestore SDK จะเริ่มต้นในรูปแบบต่างๆ ขึ้นอยู่กับสภาพแวดล้อมของคุณ วิธีการที่พบบ่อยที่สุดมีดังนี้ ดูข้อมูลอ้างอิงทั้งหมดได้ที่ เริ่มต้น Admin SDK-
เริ่มต้นใน Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
เริ่มต้นใน Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
เริ่มต้นในเซิร์ฟเวอร์ของคุณเอง
หากต้องการใช้ Firebase Admin SDK ในเซิร์ฟเวอร์ของคุณเอง (หรือสภาพแวดล้อม Node.js อื่นๆ) ให้ใช้บัญชีบริการ ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ในคอนโซล Google Cloud สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ JSON จากนั้นใช้ไฟล์เพื่อเริ่มต้น SDK โดยทำดังนี้
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
Go
Cloud Firestore SDK จะเริ่มต้นในรูปแบบต่างๆ ขึ้นอยู่กับสภาพแวดล้อมของคุณ วิธีการที่พบบ่อยที่สุดมีดังนี้ ดูข้อมูลอ้างอิงทั้งหมดได้ที่ เริ่มต้น Admin SDKimport ( "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 Admin SDK ในเซิร์ฟเวอร์ของคุณเอง ให้ใช้บัญชีบริการ
ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ในคอนโซล Google Cloud สร้างคีย์ส่วนตัวใหม่และบันทึกไฟล์ JSON จากนั้นใช้ไฟล์เพื่อเริ่มต้น SDK โดยทำดังนี้
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์
C#
C#
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์
Ruby
เพิ่มข้อมูล
Cloud Firestore จัดเก็บข้อมูลในเอกสาร ซึ่งจัดเก็บไว้ในคอลเล็กชัน Cloud Firestore จะสร้างคอลเล็กชันและเอกสารโดยนัย เมื่อคุณเพิ่มข้อมูลลงในเอกสารเป็นครั้งแรก คุณไม่จำเป็นต้อง สร้างคอลเล็กชันหรือเอกสารอย่างชัดเจน
สร้างคอลเล็กชันและเอกสารใหม่โดยใช้โค้ดตัวอย่างต่อไปนี้
Java
Python
Python
Node.js
Go
PHP
PHP
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์
C#
Ruby
ตอนนี้ให้เพิ่มเอกสารอีกฉบับลงในusersคอลเล็กชัน โปรดสังเกตว่าเอกสารนี้
มีคู่คีย์-ค่า (ชื่อกลาง) ที่ไม่ได้ปรากฏในเอกสารแรก
เอกสารในคอลเล็กชันอาจมีชุดข้อมูลที่แตกต่างกัน
Java
Python
Python
Node.js
Go
PHP
PHP
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์
C#
Ruby
อ่านข้อมูล
ใช้เครื่องมือแสดงข้อมูลในคอนโซล Firebase เพื่อยืนยันอย่างรวดเร็วว่าคุณได้เพิ่มข้อมูลลงใน Cloud Firestore แล้ว
นอกจากนี้ คุณยังใช้วิธี "get" เพื่อดึงข้อมูลทั้งคอลเล็กชันได้ด้วย
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
Node.js
Go
PHP
PHP
ดูข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและสร้างCloud Firestoreไคลเอ็นต์ได้ที่ Cloud Firestoreไลบรารีของไคลเอ็นต์
C#
Ruby
ขั้นตอนถัดไป
เพิ่มพูนความรู้ด้วยหัวข้อต่อไปนี้
- โมเดลข้อมูล - ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดโครงสร้างข้อมูลใน Cloud Firestore รวมถึงข้อมูลลำดับชั้นและคอลเล็กชันย่อย
- เพิ่มข้อมูล — ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและอัปเดตข้อมูลใน Cloud Firestore
- รับข้อมูล - ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีดึงข้อมูล
- ทำการค้นหาแบบง่ายและแบบผสม - ดูวิธีเรียกใช้การค้นหาแบบง่ายและแบบผสม
- จัดเรียงและจำกัดการค้นหา ดูวิธีจัดเรียง และจำกัดข้อมูลที่การค้นหาแสดง