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

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

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

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

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

  2. في اللوحة اليمنى، انتقِل إلى قواعد البيانات ومساحة التخزين > Firestore.

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

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

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

  5. اختَر وضع بدء لجهاز Cloud Firestore Security Rules:

    الوضع التجريبي

    هذه القواعد مناسبة للبدء في استخدام مكتبات برامج الأجهزة الجوّالة والويب، ولكنّها تسمح لأي شخص بقراءة بياناتك والكتابة فوقها. بعد الاختبار، احرص على مراجعة قسم تأمين بياناتك.

    للبدء باستخدام الويب أو منصات Apple أو حزمة تطوير البرامج (SDK) لنظام التشغيل 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.

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

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

Java
  1. أضِف حزمة تطوير البرامج (SDK) الخاصة بمدير Firebase إلى تطبيقك:
    • باستخدام 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>
           
  2. اتّبِع التعليمات أدناه لإعداد Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
Python
  1. أضِف حزمة تطوير البرامج (SDK) لإدارة Firebase إلى تطبيق Python:
    pip install --upgrade firebase-admin
  2. اتّبِع التعليمات أدناه لإعداد Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
Node.js
  1. أضِف حزمة تطوير البرامج (SDK) الخاصة بمدير Firebase إلى تطبيقك:
    npm install firebase-admin --save
  2. اتّبِع التعليمات أدناه لإعداد Cloud Firestore باستخدام بيانات الاعتماد المناسبة في بيئتك.
متابعة
  1. أضِف حزمة تطوير البرامج (SDK) لإدارة Firebase إلى تطبيق 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 لحساب الخدمة. يمكنك إنشاء ملف مفتاح في صفحة "بيانات الاعتماد" في وحدة تحكّم واجهة برمجة التطبيقات.
      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 لحساب الخدمة. يمكنك إنشاء ملف مفتاح في صفحة "بيانات الاعتماد" في وحدة تحكّم واجهة برمجة التطبيقات.
      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. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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. أنشِئ مفتاحًا خاصًا جديدًا واحفظ ملف 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" بطرق مختلفة حسب بيئتك. في ما يلي الطرق الأكثر شيوعًا. للحصول على مرجع كامل، يُرجى الاطّلاع على إعداد مدير 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. أنشئ مفتاحًا خاصًا جديدًا واحفظ ملف 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
    });
    متابعة
    _, _, 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
    });
    متابعة
    _, _, 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());
    });
    متابعة
    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

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

    يمكنك تعميق معرفتك من خلال المواضيع التالية: