این شروع سریع به شما نشان میدهد که چگونه Cloud Firestore را راهاندازی کنید، داده اضافه کنید، سپس از عملیات Core یا عملیات Pipeline برای پُرسمان کردن دادههایی که بهتازگی در کنسول Firebase بااستفاده از کتابخانههای کارخواه سرور برای Java، Node.js، و Python اضافه کردهاید استفاده کنید.
از این کتابخانههای کارخواه برای راهاندازی محیطهای سرور ممتاز با دسترسی کامل به پایگاه دادهتان استفاده کنید.
ایجاد پایگاه داده Cloud Firestore
اگر قبلاً این کار را نکردهاید، پروژه Firebase ایجاد کنید: در کنسول Firebase، روی افزودن پروژه کلیک کنید، سپس دستورالعملهای روی صفحه را دنبال کنید تا پروژه Firebase ایجاد کنید یا سرویسهای Firebase را به پروژه Google Cloud موجود اضافه کنید.
در پانل سمت راست، به پایگاههای داده و فضای ذخیرهسازی > Firestore بروید.
روی ایجاد پایگاه داده کلیک کنید.
Enterprise را برای حالت پایگاه داده انتخاب کنید.
Firestore در حالت بومی را برای حالت عملیات انتخاب کنید که از عملیاتهای Core و Pipeline پشتیبانی میکند.
مکانی برای پایگاه دادهتان انتخاب کنید.
حالت شروع را برای Cloud Firestore Security Rules انتخاب کنید:
- حالت آزمایشی
برای شروع کار با کتابخانههای کارخواه وب و تلفن همراه مناسب است، اما به همه اجازه میدهد دادههایتان را بخوانند و بازنویسی کنند. پساز آزمایش، حتماً بخش ایمنسازی دادهها را مرور کنید.
برای شروع به کار با وب، پلاتفرمهای Apple، یا کیت توسعه نرمافزار Android، حالت آزمایش را انتخاب کنید.
- حالت تولید
همه خواندنها و نوشتنها را از کلاینتهای وب و تلفن همراه رد میکند. سرورهای برنامه اصالتسنجیشده شما (Node.js، Python، Java) همچنان میتوانند به پایگاه دادهتان دسترسی داشته باشند.
مجموعه اولیه Cloud Firestore Security Rules برای پایگاه داده پیشفرض Cloud Firestore شما اعمال خواهد شد. اگر چندین پایگاه داده برای پروژهتان ایجاد کنید، میتوانید برای هر پایگاه داده Cloud Firestore Security Rules مستقر کنید.
روی ایجاد کردن کلیک کنید.
وقتی Cloud Firestore را فعال میکنید، میانای برنامهسازی کاربردی نیز در مدیر میانای برنامهسازی کاربردی Cloud فعال میشود.
راهاندازی محیط توسعه نرمافزار
وابستگیهای لازم و کتابخانههای مشتری را به برنامهتان اضافه کنید.
Node.js
-
Firebase Admin SDK را به برنامهتان اضافه کنید:
npm install firebase-admin --save
- دستورالعملهای زیر را برای مقداردهی اولیه Cloud Firestore با اعتبارنامههای مناسب در محیط خود دنبال کنید.
پایتون
- افزودن Firebase Admin SDK به برنامه Python:
pip install --upgrade firebase-admin
- دستورالعملهای زیر را برای مقداردهی اولیه Cloud Firestore با اعتبارنامههای مناسب در محیط خود دنبال کنید.
جاوا
- افزودن Firebase Admin SDK به برنامه:
-
بااستفاده از Gradle:
implementation 'com.google.firebase:firebase-admin:9.11.0'
-
استفاده از Maven:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.11.0</version> </dependency>
-
بااستفاده از Gradle:
- دستورالعملهای زیر را برای مقداردهی اولیه Cloud Firestore با اعتبارنامههای مناسب در محیط خود دنبال کنید.
مقداردهی اولیه Cloud Firestore
نمونهای از Cloud Firestore را مقداردهی اولیه کنید:
Node.js
کیت توسعه نرمافزار Cloud Firestore بسته به محیط شما به روشهای مختلفی مقداردهی اولیه میشود. رایجترین روشها در زیر آمده است. برای مرجع کامل، مقداردهی اولیه کیت توسعه نرمافزار سرپرست را ببینید.-
مقداردهی اولیه در 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 دیگر)، از حساب سرویس استفاده کنید. در کنسول Google Cloud، به IAM و سرپرست > حسابهای سرویس بروید. کلید خصوصی جدیدی ایجاد کنید و فایل JSON را ذخیره کنید. سپس از این فایل برای مقداردهی اولیه کیت توسعه نرمافزار استفاده کنید:
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();
پایتون
کیت توسعه نرمافزار Cloud Firestore بسته به محیط شما به روشهای مختلفی مقداردهی اولیه میشود. رایجترین روشها در زیر آمده است. برای مرجع کامل، مقداردهی اولیه کیت توسعه نرمافزار سرپرست را ببینید.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
از اطلاعات اعتباری پیشفرض برنامه موجود نیز میتوان برای مقداردهی اولیه کیت توسعه نرمافزار استفاده کرد.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
برای استفاده از Firebase Admin SDK در سرور خودتان، از حساب سرویس استفاده کنید.
به IAM & admin (مدیریت هویت و دسترسی و سرپرست) > Service accounts (حسابهای سرویس) در کنسول Google Cloud بروید. کلید خصوصی جدیدی ایجاد کنید و فایل 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') app = firebase_admin.initialize_app(cred) db = firestore.client()
جاوا
کیت توسعه نرمافزار Cloud 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();
برای استفاده از Firebase Admin SDK در سرور خودتان، از حساب سرویس استفاده کنید.
به IAM & admin (مدیریت هویت و دسترسی و سرپرست) > Service accounts (حسابهای سرویس) در کنسول Google Cloud بروید. کلید خصوصی جدیدی ایجاد کنید و فایل 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();
افزودن داده بااستفاده از عملیاتهای Core
برای کاوش عملیات Core و عملیات Pipeline برای پُرسمان دادهها، بااستفاده از عملیات Core، دادهها را به پایگاه دادهتان اضافه کنید.
Cloud Firestore دادهها را در «اسناد» ذخیره میکند که در «مجموعهها» ذخیره میشوند. Cloud Firestore مجموعهها و اسناد را بهطور ضمنی در اولین باری که دادهها را به سند اضافه میکنید ایجاد میکند. نیازی نیست بهطور صریح مجموعه یا سند ایجاد کنید.
بااستفاده از کد نمونه زیر، مجموعه و سند جدیدی ایجاد کنید.
Node.js
جاوا
پایتون
خواندن دادهها بااستفاده از عملیاتهای Core
از نمایشگر داده در کنسول Firebase استفاده کنید تا بهسرعت تأیید کنید که دادهها را به Cloud Firestore اضافه کردهاید.
همچنین میتوانید از روش «get» برای بازیابی کل مجموعه استفاده کنید.
Node.js
پایتون
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
جاوا
خواندن دادهها بااستفاده از عملیات Pipeline
اکنون میتوانید تجربه پُرسمان Pipeline را با تجربه پُرسمان Core مقایسه کنید.
Node.js
const readDataPipeline = db.pipeline() .collection("users"); // Execute the pipeline and handle the result try { const querySnapshot = await readDataPipeline.execute(); querySnapshot.results.forEach((result) => { console.log(`${result.id} => ${result.data()}`); }); } catch (error) { console.error("Error getting documents: ", error); }
پایتون
pipeline = client.pipeline().collection("users") for result in pipeline.execute(): print(f"{result.id} => {result.data()}")
جاوا
Pipeline pipeline = firestore.pipeline().collection("users"); ApiFuture<Pipeline.Snapshot> future = pipeline.execute(); for (com.google.cloud.firestore.PipelineResult result : future.get().getResults()) { System.out.println(result.getId() + " => " + result.getData()); } // or, asynchronously pipeline.execute( new ApiStreamObserver<com.google.cloud.firestore.PipelineResult>() { @Override public void onNext(com.google.cloud.firestore.PipelineResult result) { System.out.println(result.getId() + " => " + result.getData()); } @Override public void onError(Throwable t) { System.err.println(t); } @Override public void onCompleted() { System.out.println("done"); } });
مراحل بعدی
با موضوعات زیر، دانش خود را درباره عملیات Core و Pipeline عمیقتر کنید:
- مطمئن شوید که با تفاوتهای بین عملیات اصلی و خط لوله آشنا هستید
- درباره اجرای پُرسمان با عملیات اصلی بیشتر بدانید
- درباره اجرای پُرسمان با عملیات خط لوله بیشتر بدانید.