بدء استخدام إصدار Cloud Firestore Standard من خلال مكتبات برامج الخادم والعميل

يوضّح لك هذا الدليل السريع كيفية إعداد إصدار Cloud Firestore Enterprise، وإضافة البيانات، ثم عرض البيانات التي أضفتها للتو في وحدة تحكّم Firebase باستخدام مكتبات برامج الخادم والعميل للّغات C#‎ وGo وJava وNode.js وPHP وPython وRuby.

استخدِم مكتبات البرامج هذه لإعداد بيئات خادم ذات امتيازات مع إمكانية الوصول الكامل إلى قاعدة البيانات.

إنشاء قاعدة بيانات Cloud Firestore

  1. إذا لم يسبق لك إنشاء مشروع على Firebase، أنشئ مشروعًا باتّباع الخطوات التالية: في Firebaseوحدة التحكّم، انقر على إضافة مشروع، ثم اتّبِع التعليمات الظاهرة على الشاشة لإنشاء مشروع على Firebase أو لإضافة خدمات Firebase إلى مشروع Google Cloud حالي.

  2. افتح مشروعك في وحدة تحكّم Firebase. في اللوحة اليمنى، وسِّع إنشاء، ثم اختَر قاعدة بيانات Firestore.

  3. انقر على إنشاء قاعدة بيانات.

  4. اختَر موقعًا جغرافيًا لقاعدة البيانات.

    إذا لم تتمكّن من اختيار موقع جغرافي، يعني ذلك أنّه تمّ ضبط "الموقع الجغرافي للموارد التلقائية Google Cloud" لمشروعك. تتشارك بعض موارد مشروعك (مثل مثيل Cloud Firestore التلقائي) في تبعية مشتركة للموقع الجغرافي، ويمكن ضبط الموقع الجغرافي إما أثناء إنشاء المشروع أو عند إعداد خدمة أخرى تتشارك في هذه التبعية للموقع الجغرافي.

  5. اختَر وضعًا لبدء 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 لكل قاعدة بيانات.

  6. انقر على إنشاء.

عند تفعيل Cloud Firestore، يتم أيضًا تفعيل واجهة برمجة التطبيقات في Cloud API Manager.

إعداد بيئة التطوير

أضِف التبعيات ومكتبات البرامج المطلوبة إلى تطبيقك.

Java
  1. أضِف حزمة تطوير البرامج (SDK) الخاصة بمدير Firebase إلى تطبيقك:
    • استخدام 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>
           
  2. اتّبِع التعليمات أدناه لتهيئة Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
Python
  1. أضِف حزمة تطوير البرامج (SDK) لميزة "إدارة Firebase" إلى تطبيق Python الخاص بك:
    pip install --upgrade firebase-admin
  2. اتّبِع التعليمات أدناه لتهيئة Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
Node.js
  1. أضِف حزمة Firebase Admin SDK إلى تطبيقك:
    npm install firebase-admin --save
  2. اتّبِع التعليمات أدناه لتهيئة Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
Go
  1. أضِف حزمة تطوير البرامج (SDK) الخاصة بـ Firebase Admin إلى تطبيق Go:
    go get firebase.google.com/go
  2. اتّبِع التعليمات أدناه لتهيئة Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
PHP
  1. تستخدم مكتبات برامج الخادم Cloud Firestore (Java وNode.js وPython وGo وPHP وC# وRuby) بيانات الاعتماد التلقائية لتطبيق Google للمصادقة.
    • لإجراء المصادقة من بيئة التطوير، اضبط متغيّر البيئة GOOGLE_APPLICATION_CREDENTIALS ليشير إلى ملف مفتاح JSON لحساب الخدمة. يمكنك إنشاء ملف مفتاح في صفحة بيانات الاعتماد في API Console.
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • في بيئة الإنتاج، لن تحتاج إلى إثبات الهوية إذا شغّلت تطبيقك على App Engine أو Compute Engine باستخدام المشروع نفسه الذي تستخدمه في Cloud Firestore. وإلا، عليك إعداد حساب خدمة.
  2. ثبِّت إضافة gRPC وفعِّلها لبرنامج PHP، وهي إضافة ضرورية لاستخدام مكتبة البرامج.
  3. أضِف مكتبة Cloud Firestore PHP إلى تطبيقك:
    composer require google/cloud-firestore
لغة Ruby
  1. تستخدم مكتبات برامج الخادم Cloud Firestore (Java وNode.js وPython وGo وPHP وC# وRuby) بيانات الاعتماد التلقائية لتطبيق Google للمصادقة.
    • لإجراء المصادقة من بيئة التطوير، اضبط متغيّر البيئة GOOGLE_APPLICATION_CREDENTIALS ليشير إلى ملف مفتاح JSON لحساب الخدمة. يمكنك إنشاء ملف مفتاح في صفحة بيانات الاعتماد في API Console.
      export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
    • في بيئة الإنتاج، لن تحتاج إلى إثبات الهوية إذا شغّلت تطبيقك على App Engine أو Compute Engine باستخدام المشروع نفسه الذي تستخدمه في Cloud Firestore. وإلا، عليك إعداد حساب خدمة.
  2. أضِف مكتبة Cloud Firestore Ruby إلى تطبيقك في 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 كالمعتاد

يتوفّر شرح تفصيلي يتضمّن Cloud Firestore وCloud Functions. ننصحك أيضًا بالاطّلاع على مقدمة Local Emulator Suite.

إعداد Cloud Firestore

إعداد مثيل من Cloud Firestore:

Java
يتم تهيئة حزمة تطوير البرامج (SDK) Cloud Firestore بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، اطّلِع على إعداد حزمة 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();
  • بدء الاستخدام على الخادم الخاص بك

    لاستخدام حزمة تطوير البرامج (SDK) الخاصة بمشرف Firebase على الخادم الخاص بك، استخدِم حساب خدمة.

    انتقِل إلى المشرف وإدارة الهوية وإمكانية الوصول > حسابات الخدمة في Google Cloud Console. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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
    يتم تهيئة حزمة تطوير البرامج (SDK) Cloud Firestore بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، اطّلِع على إعداد حزمة 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()
  • بدء الاستخدام على الخادم الخاص بك

    لاستخدام حزمة تطوير البرامج (SDK) الخاصة بمشرف Firebase على الخادم الخاص بك، استخدِم حساب خدمة.

    انتقِل إلى المشرف وإدارة الهوية وإمكانية الوصول > حسابات الخدمة في Google Cloud Console. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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

    يتم تهيئة حزمة تطوير البرامج (SDK) Cloud Firestore بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، اطّلِع على إعداد حزمة SDK للمشرف.
  • الإعداد في Google Cloud
    import 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()
  • بدء الاستخدام على الخادم الخاص بك

    لاستخدام حزمة تطوير البرامج (SDK) الخاصة بمشرف Firebase على الخادم الخاص بك، استخدِم حساب خدمة.

    انتقِل إلى المشرف وإدارة الهوية وإمكانية الوصول > حسابات الخدمة في Google Cloud Console. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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
    يتم تهيئة حزمة تطوير البرامج (SDK) Cloud Firestore بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، اطّلِع على إعداد حزمة 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 Console. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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
    يتم تهيئة حزمة تطوير البرامج (SDK) Cloud Firestore بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، اطّلِع على إعداد حزمة 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()
  • بدء الاستخدام على الخادم الخاص بك

    لاستخدام حزمة تطوير البرامج (SDK) الخاصة بمشرف Firebase على الخادم الخاص بك، استخدِم حساب خدمة.

    انتقِل إلى المشرف وإدارة الهوية وإمكانية الوصول > حسابات الخدمة في Google Cloud Console. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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.

    use Google\Cloud\Firestore\FirestoreClient;
    
    /**
     * Initialize Cloud Firestore with default project ID.
     */
    function setup_client_create(string $projectId = null)
    {
        // Create the Cloud Firestore client
        if (empty($projectId)) {
            // The `projectId` 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.
            $db = new FirestoreClient();
            printf('Created Cloud Firestore client with default project ID.' . PHP_EOL);
        } else {
            $db = new FirestoreClient([
                'projectId' => $projectId,
            ]);
            printf('Created Cloud Firestore client with project ID: %s' . PHP_EOL, $projectId);
        }
    }
    #C

    #C

    لمزيد من المعلومات حول تثبيت وإنشاء عميل Cloud Firestore، يُرجى الرجوع إلى مكتبات عميل Cloud Firestore.

    FirestoreDb db = FirestoreDb.Create(project);
    Console.WriteLine("Created Cloud Firestore client with project ID: {0}", project);
    لغة Ruby
    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 المجموعات والمستندات ضمنيًا في المرة الأولى التي تضيف فيها بيانات إلى المستند. ليس عليك إنشاء مجموعات أو مستندات بشكل صريح.

    أنشئ مجموعة ومستندًا جديدَين باستخدام نموذج الرمز البرمجي التالي.

    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("users").document("alovelace")
    doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})

    Python

    doc_ref = db.collection("users").document("alovelace")
    await doc_ref.set({"first": "Ada", "last": "Lovelace", "born": 1815})
    Node.js
    const docRef = db.collection('users').doc('alovelace');
    
    await docRef.set({
      first: 'Ada',
      last: 'Lovelace',
      born: 1815
    });
    Go
    _, _, 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

    PHP

    لمزيد من المعلومات حول تثبيت وإنشاء عميل Cloud Firestore، يُرجى الرجوع إلى مكتبات عميل Cloud Firestore.

    $docRef = $db->collection('samples/php/users')->document('alovelace');
    $docRef->set([
        'first' => 'Ada',
        'last' => 'Lovelace',
        'born' => 1815
    ]);
    printf('Added data to the lovelace document in the users collection.' . PHP_EOL);
    #C
    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);
    لغة Ruby
    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. لاحظ أنّ هذا المستند يتضمّن زوجًا من المفتاح والقيمة (الاسم الأوسط) لا يظهر في المستند الأول. يمكن أن تحتوي المستندات في مجموعة على مجموعات مختلفة من المعلومات.

    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("users").document("aturing")
    doc_ref.set({"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912})

    Python

    doc_ref = db.collection("users").document("aturing")
    await doc_ref.set(
        {"first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912}
    )
    Node.js
    const aTuringRef = db.collection('users').doc('aturing');
    
    await aTuringRef.set({
      'first': 'Alan',
      'middle': 'Mathison',
      'last': 'Turing',
      'born': 1912
    });
    Go
    _, _, 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

    PHP

    لمزيد من المعلومات حول تثبيت وإنشاء عميل Cloud Firestore، يُرجى الرجوع إلى مكتبات عميل Cloud Firestore.

    $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);
    #C
    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);
    لغة Ruby
    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."

    قراءة البيانات

    استخدِم أداة عرض البيانات في وحدة تحكّم Firebase للتأكّد بسرعة من أنّك أضفت بيانات إلى Cloud Firestore.

    يمكنك أيضًا استخدام طريقة "get" لاسترداد المجموعة بأكملها.

    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("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()}")
    Node.js
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    Go
    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

    PHP

    لمزيد من المعلومات حول تثبيت وإنشاء عميل Cloud Firestore، يُرجى الرجوع إلى مكتبات عميل Cloud Firestore.

    $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);
    #C
    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();
    }
    لغة Ruby
    users_ref = firestore.col collection_path
    users_ref.get do |user|
      puts "#{user.document_id} data: #{user.data}."
    end

    الخطوات التالية

    يمكنك تعزيز معرفتك بالمواضيع التالية: