با استفاده از کتابخانه‌های کلاینت سرور، کار با نسخه سازمانی Cloud Firestore را شروع کنید، با استفاده از کتابخانه‌های کلاینت سرور، کار با نسخه سازمانی Cloud Firestore را شروع کنید

این آموزش سریع به شما نشان می‌دهد که چگونه Cloud Firestore راه‌اندازی کنید، داده‌ها را اضافه کنید، سپس از عملیات Core یا عملیات Pipeline برای پرس‌وجو از داده‌هایی که اخیراً در کنسول Firebase با استفاده از کتابخانه‌های کلاینت سرور برای جاوا، Node.js و پایتون اضافه کرده‌اید، استفاده کنید.

از این کتابخانه‌های کلاینت برای راه‌اندازی محیط‌های سرور ممتاز با دسترسی کامل به پایگاه داده خود استفاده کنید.

ایجاد یک پایگاه داده Cloud Firestore

  1. اگر قبلاً این کار را نکرده‌اید، یک پروژه Firebase ایجاد کنید: در کنسول Firebase ، روی افزودن پروژه کلیک کنید، سپس دستورالعمل‌های روی صفحه را برای ایجاد یک پروژه Firebase یا افزودن سرویس‌های Firebase به یک پروژه Google Cloud موجود دنبال کنید.

  2. پروژه خود را در کنسول Firebase باز کنید. در پنل سمت چپ، Build را باز کرده و سپس Firestore database را انتخاب کنید.

  3. روی ایجاد پایگاه داده کلیک کنید.

  4. برای حالت پایگاه داده، Enterprise را انتخاب کنید.

  5. برای حالت عملیات، Firestore را در حالت بومی (Native Mode) انتخاب کنید که از عملیات Core و Pipeline پشتیبانی می‌کند.

  6. مکانی را برای پایگاه داده خود انتخاب کنید.

  7. یک حالت شروع برای Cloud Firestore Security Rules خود انتخاب کنید:

    حالت تست

    برای شروع کار با کتابخانه‌های کلاینت موبایل و وب خوب است، اما به هر کسی اجازه می‌دهد داده‌های شما را بخواند و بازنویسی کند. پس از آزمایش، حتماً بخش «داده‌های خود را ایمن کنید» را مرور کنید.

    برای شروع کار با وب، پلتفرم‌های اپل یا اندروید SDK، حالت تست را انتخاب کنید.

    حالت تولید

    تمام خواندن‌ها و نوشتن‌ها را از کلاینت‌های موبایل و وب رد می‌کند. سرورهای برنامه‌ی احراز هویت شده‌ی شما (Node.js، Python، Java) همچنان می‌توانند به پایگاه داده‌ی شما دسترسی داشته باشند.

    مجموعه اولیه Cloud Firestore Security Rules شما بر روی پایگاه داده پیش‌فرض Cloud Firestore شما اعمال خواهد شد. اگر چندین پایگاه داده برای پروژه خود ایجاد کنید، می‌توانید Cloud Firestore Security Rules برای هر پایگاه داده اعمال کنید.

  8. روی ایجاد کلیک کنید.

وقتی Cloud Firestore فعال می‌کنید، API را نیز در Cloud API Manager فعال می‌کند.

محیط توسعه خود را تنظیم کنید

وابستگی‌ها و کتابخانه‌های کلاینت مورد نیاز را به برنامه خود اضافه کنید.

نود جی اس
  1. کیت توسعه نرم‌افزار (SDK) مدیریت فایربیس را به برنامه خود اضافه کنید:
    npm install firebase-admin --save
  2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.
پایتون
  1. کیت توسعه نرم‌افزار مدیریت فایربیس (Firebase Admin SDK) را به برنامه پایتون خود اضافه کنید:
    pip install --upgrade firebase-admin
  2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.
جاوا
  1. کیت توسعه نرم‌افزار (SDK) مدیریت فایربیس را به برنامه خود اضافه کنید:
    • استفاده از گریدل:
      implementation 'com.google.firebase:firebase-admin:9.7.1'
    • استفاده از ماون:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>9.7.1</version>
      </dependency>
           
  2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.

مقداردهی اولیه Cloud Firestore

یک نمونه از Cloud Firestore را مقداردهی اولیه کنید:

نود جی اس
بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the 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();
  • روی سرور خودتان مقداردهی اولیه کنید

    برای استفاده از SDK مدیریت Firebase در سرور خود (یا هر محیط Node.js دیگر)، از یک حساب کاربری سرویس استفاده کنید. در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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();
    
پایتون
بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the Admin SDK مراجعه کنید.
  • مقداردهی اولیه در Google Cloud
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()

    همچنین می‌توان از یک اعتبارنامه پیش‌فرض برنامه موجود برای مقداردهی اولیه SDK استفاده کرد.

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    
    # Use the application default credentials.
    cred = credentials.ApplicationDefault()
    
    firebase_admin.initialize_app(cred)
    db = firestore.client()
  • روی سرور خودتان مقداردهی اولیه کنید

    برای استفاده از Firebase Admin SDK روی سرور خودتان، از یک حساب کاربری سرویس استفاده کنید.

    در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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()
  • جاوا
    بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the Admin 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 Admin SDK روی سرور خودتان، از یک حساب کاربری سرویس استفاده کنید.

    در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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();
  • اضافه کردن داده‌ها با استفاده از عملیات اصلی

    برای بررسی عملیات اصلی (Core operations) و عملیات خط لوله (Pipeline operations) برای پرس و جو از داده‌ها، داده‌ها را با استفاده از عملیات اصلی (Core operations) به پایگاه داده خود اضافه کنید.

    Cloud Firestore داده‌ها را در اسناد (Documents) ذخیره می‌کند که خود در مجموعه‌ها (Collections) ذخیره می‌شوند. Cloud Firestore مجموعه‌ها و اسناد را به طور ضمنی و در اولین باری که داده‌ها را به سند اضافه می‌کنید، ایجاد می‌کند. نیازی نیست که شما به طور صریح مجموعه‌ها یا اسناد را ایجاد کنید.

    با استفاده از کد مثال زیر، یک مجموعه جدید و یک سند ایجاد کنید.

    نود جی اس
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    جاوا
    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("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    خواندن داده‌ها با استفاده از عملیات اصلی

    برای تأیید سریع اینکه داده‌ها را به Cloud Firestore اضافه کرده‌اید، از نمایشگر داده در کنسول Firebase استفاده کنید.

    همچنین می‌توانید از متد "get" برای بازیابی کل مجموعه استفاده کنید.

    نود جی اس
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    پایتون
    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    جاوا
    // 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"));
    }

    خواندن داده‌ها با استفاده از عملیات Pipeline

    حالا می‌توانید تجربه‌ی پرس‌وجوی Pipeline را با تجربه‌ی پرس‌وجوی Core مقایسه کنید.

    نود جی اس
    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");
          }
        });

    مراحل بعدی

    دانش خود را در مورد عملیات هسته و خط لوله با مباحث زیر عمیق‌تر کنید:

    ،

    این آموزش سریع به شما نشان می‌دهد که چگونه Cloud Firestore راه‌اندازی کنید، داده‌ها را اضافه کنید، سپس از عملیات Core یا عملیات Pipeline برای پرس‌وجو از داده‌هایی که اخیراً در کنسول Firebase با استفاده از کتابخانه‌های کلاینت سرور برای جاوا، Node.js و پایتون اضافه کرده‌اید، استفاده کنید.

    از این کتابخانه‌های کلاینت برای راه‌اندازی محیط‌های سرور ممتاز با دسترسی کامل به پایگاه داده خود استفاده کنید.

    ایجاد یک پایگاه داده Cloud Firestore

    1. اگر قبلاً این کار را نکرده‌اید، یک پروژه Firebase ایجاد کنید: در کنسول Firebase ، روی افزودن پروژه کلیک کنید، سپس دستورالعمل‌های روی صفحه را برای ایجاد یک پروژه Firebase یا افزودن سرویس‌های Firebase به یک پروژه Google Cloud موجود دنبال کنید.

    2. پروژه خود را در کنسول Firebase باز کنید. در پنل سمت چپ، Build را باز کرده و سپس Firestore database را انتخاب کنید.

    3. روی ایجاد پایگاه داده کلیک کنید.

    4. برای حالت پایگاه داده، Enterprise را انتخاب کنید.

    5. برای حالت عملیات، Firestore را در حالت بومی (Native Mode) انتخاب کنید که از عملیات Core و Pipeline پشتیبانی می‌کند.

    6. مکانی را برای پایگاه داده خود انتخاب کنید.

    7. یک حالت شروع برای Cloud Firestore Security Rules خود انتخاب کنید:

      حالت تست

      برای شروع کار با کتابخانه‌های کلاینت موبایل و وب خوب است، اما به هر کسی اجازه می‌دهد داده‌های شما را بخواند و بازنویسی کند. پس از آزمایش، حتماً بخش «داده‌های خود را ایمن کنید» را مرور کنید.

      برای شروع کار با وب، پلتفرم‌های اپل یا اندروید SDK، حالت تست را انتخاب کنید.

      حالت تولید

      تمام خواندن‌ها و نوشتن‌ها را از کلاینت‌های موبایل و وب رد می‌کند. سرورهای برنامه‌ی احراز هویت شده‌ی شما (Node.js، Python، Java) همچنان می‌توانند به پایگاه داده‌ی شما دسترسی داشته باشند.

      مجموعه اولیه Cloud Firestore Security Rules شما بر روی پایگاه داده پیش‌فرض Cloud Firestore شما اعمال خواهد شد. اگر چندین پایگاه داده برای پروژه خود ایجاد کنید، می‌توانید Cloud Firestore Security Rules برای هر پایگاه داده اعمال کنید.

    8. روی ایجاد کلیک کنید.

    وقتی Cloud Firestore فعال می‌کنید، API را نیز در Cloud API Manager فعال می‌کند.

    محیط توسعه خود را تنظیم کنید

    وابستگی‌ها و کتابخانه‌های کلاینت مورد نیاز را به برنامه خود اضافه کنید.

    نود جی اس
    1. کیت توسعه نرم‌افزار (SDK) مدیریت فایربیس را به برنامه خود اضافه کنید:
      npm install firebase-admin --save
    2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.
    پایتون
    1. کیت توسعه نرم‌افزار مدیریت فایربیس (Firebase Admin SDK) را به برنامه پایتون خود اضافه کنید:
      pip install --upgrade firebase-admin
    2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.
    جاوا
    1. کیت توسعه نرم‌افزار (SDK) مدیریت فایربیس را به برنامه خود اضافه کنید:
      • استفاده از گریدل:
        implementation 'com.google.firebase:firebase-admin:9.7.1'
      • استفاده از ماون:
        <dependency>
          <groupId>com.google.firebase</groupId>
          <artifactId>firebase-admin</artifactId>
          <version>9.7.1</version>
        </dependency>
             
    2. برای راه‌اندازی اولیه Cloud Firestore با اعتبارنامه‌های مناسب در محیط خود، دستورالعمل‌های زیر را دنبال کنید.

    مقداردهی اولیه Cloud Firestore

    یک نمونه از Cloud Firestore را مقداردهی اولیه کنید:

    نود جی اس
    بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the 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();
    • روی سرور خودتان مقداردهی اولیه کنید

      برای استفاده از SDK مدیریت Firebase در سرور خود (یا هر محیط Node.js دیگر)، از یک حساب کاربری سرویس استفاده کنید. در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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();
      
    پایتون
    بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the Admin SDK مراجعه کنید.
  • مقداردهی اولیه در Google Cloud
    import firebase_admin
    from firebase_admin import firestore
    
    # Application Default credentials are automatically created.
    app = firebase_admin.initialize_app()
    db = firestore.client()

    همچنین می‌توان از یک اعتبارنامه پیش‌فرض برنامه موجود برای مقداردهی اولیه SDK استفاده کرد.

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import firestore
    
    # Use the application default credentials.
    cred = credentials.ApplicationDefault()
    
    firebase_admin.initialize_app(cred)
    db = firestore.client()
  • روی سرور خودتان مقداردهی اولیه کنید

    برای استفاده از Firebase Admin SDK روی سرور خودتان، از یک حساب کاربری سرویس استفاده کنید.

    در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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()
  • جاوا
    بسته به محیط شما، SDK مربوط به Cloud Firestore به روش‌های مختلفی مقداردهی اولیه می‌شود. در زیر رایج‌ترین روش‌ها آمده است. برای مرجع کامل، به Initialize the Admin 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 Admin SDK روی سرور خودتان، از یک حساب کاربری سرویس استفاده کنید.

    در کنسول Google Cloud به مسیر IAM & admin > Service accounts بروید. یک کلید خصوصی جدید ایجاد کنید و فایل 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();
  • اضافه کردن داده‌ها با استفاده از عملیات اصلی

    برای بررسی عملیات اصلی (Core operations) و عملیات خط لوله (Pipeline operations) برای پرس و جو از داده‌ها، داده‌ها را با استفاده از عملیات اصلی (Core operations) به پایگاه داده خود اضافه کنید.

    Cloud Firestore داده‌ها را در اسناد (Documents) ذخیره می‌کند که خود در مجموعه‌ها (Collections) ذخیره می‌شوند. Cloud Firestore مجموعه‌ها و اسناد را به طور ضمنی و در اولین باری که داده‌ها را به سند اضافه می‌کنید، ایجاد می‌کند. نیازی نیست که شما به طور صریح مجموعه‌ها یا اسناد را ایجاد کنید.

    با استفاده از کد مثال زیر، یک مجموعه جدید و یک سند ایجاد کنید.

    نود جی اس
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    جاوا
    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("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    خواندن داده‌ها با استفاده از عملیات اصلی

    برای تأیید سریع اینکه داده‌ها را به Cloud Firestore اضافه کرده‌اید، از نمایشگر داده در کنسول Firebase استفاده کنید.

    همچنین می‌توانید از متد "get" برای بازیابی کل مجموعه استفاده کنید.

    نود جی اس
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    پایتون
    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    جاوا
    // 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"));
    }

    خواندن داده‌ها با استفاده از عملیات Pipeline

    حالا می‌توانید تجربه‌ی پرس‌وجوی Pipeline را با تجربه‌ی پرس‌وجوی Core مقایسه کنید.

    نود جی اس
    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");
          }
        });

    مراحل بعدی

    دانش خود را در مورد عملیات هسته و خط لوله با مباحث زیر عمیق‌تر کنید: