सर्वर क्लाइंट लाइब्रेरी का इस्तेमाल करके, Firestore Enterprise Edition का इस्तेमाल शुरू करना

इस क्विकस्टार्ट गाइड में, Cloud Firestore को सेट अप करने और डेटा जोड़ने का तरीका बताया गया है. इसके बाद, Java, Node.js, और Python के लिए सर्वर क्लाइंट लाइब्रेरी का इस्तेमाल करके, Firebase कंसोल में जोड़े गए डेटा के बारे में क्वेरी करने के लिए, कोर ऑपरेशन या पाइपलाइन ऑपरेशन का इस्तेमाल करने का तरीका बताया गया है.

इन क्लाइंट लाइब्रेरी का इस्तेमाल करके, अपने डेटाबेस के पूरे ऐक्सेस के साथ खास अधिकार वाले सर्वर एनवायरमेंट सेट अप करें.

Cloud Firestore डेटाबेस बनाएं

  1. अगर आपने पहले से कोई Firebase प्रोजेक्ट नहीं बनाया है, तो कोई Firebase प्रोजेक्ट बनाएं: Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें. इसके बाद, Firebase प्रोजेक्ट बनाने या किसी मौजूदा Google Cloud प्रोजेक्ट में Firebase की सेवाएं जोड़ने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.

  2. बाईं ओर मौजूद पैनल में, Databases & Storage > Firestore पर जाएं.

  3. डेटाबेस बनाएं पर क्लिक करें.

  4. डेटाबेस मोड के लिए, Enterprise चुनें.

  5. ऑपरेशन मोड के लिए, Firestore in Native Mode को चुनें. यह मोड, कोर और पाइपलाइन ऑपरेशन के साथ काम करता है.

  6. अपने डेटाबेस के लिए कोई जगह चुनें.

  7. अपने Cloud Firestore Security Rules के लिए, शुरुआती मोड चुनें:

    टेस्ट मोड

    यह मोबाइल और वेब क्लाइंट लाइब्रेरी का इस्तेमाल शुरू करने के लिए अच्छा है. हालांकि, इससे कोई भी व्यक्ति आपके डेटा को पढ़ सकता है और उसे ओवरराइट कर सकता है. जांच करने के बाद, अपना डेटा सुरक्षित करें सेक्शन को ज़रूर देखें.

    वेब, Apple प्लैटफ़ॉर्म या Android SDK का इस्तेमाल शुरू करने के लिए, टेस्ट मोड चुनें.

    प्रोडक्शन मोड

    मोबाइल और वेब क्लाइंट से, डेटा को पढ़ने और उसमें बदलाव करने की अनुमति नहीं देता. पुष्टि किए गए आपके ऐप्लिकेशन सर्वर (Node.js, Python, Java) अब भी आपके डेटाबेस को ऐक्सेस कर सकते हैं.

    Cloud Firestore Security Rules का आपका शुरुआती सेट, आपके डिफ़ॉल्ट Cloud Firestore डेटाबेस पर लागू होगा. अगर आपने अपने प्रोजेक्ट के लिए कई डेटाबेस बनाए हैं, तो हर डेटाबेस के लिए Cloud Firestore Security Rules को डिप्लॉय किया जा सकता है.

  8. बनाएं पर क्लिक करें.

Cloud Firestore को चालू करने पर, Cloud API Manager में भी एपीआई चालू हो जाता है.

अपना डेवलपमेंट एनवायरमेंट सेट अप करना

अपने ऐप्लिकेशन में ज़रूरी डिपेंडेंसी और क्लाइंट लाइब्रेरी जोड़ें.

Node.js
  1. अपने ऐप्लिकेशन में Firebase Admin SDK जोड़ें:
    npm install firebase-admin --save
  2. अपने एनवायरमेंट में सही क्रेडेंशियल के साथ Cloud Firestore को शुरू करने के लिए, यहां दिए गए निर्देशों का पालन करें.
Python
  1. अपने Python ऐप्लिकेशन में Firebase Admin SDK जोड़ें:
    pip install --upgrade firebase-admin
  2. अपने एनवायरमेंट में सही क्रेडेंशियल के साथ Cloud Firestore को शुरू करने के लिए, यहां दिए गए निर्देशों का पालन करें.
Java
  1. अपने ऐप्लिकेशन में 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>
           
  2. अपने एनवायरमेंट में सही क्रेडेंशियल के साथ Cloud Firestore को शुरू करने के लिए, यहां दिए गए निर्देशों का पालन करें.

Cloud Firestore को शुरू करें

Cloud Firestore का कोई इंस्टेंस शुरू करें:

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();
  • अपने सर्वर पर शुरू करना

    अपने सर्वर (या किसी अन्य Node.js एनवायरमेंट) पर Firebase Admin SDK का इस्तेमाल करने के लिए, सेवा खाते का इस्तेमाल करें. 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();
    
Python
Cloud Firestore SDK टूल को आपके एनवायरमेंट के हिसाब से अलग-अलग तरीकों से शुरू किया जाता है. सबसे ज़्यादा इस्तेमाल किए जाने वाले तरीके, यहां दिए गए हैं. ज़्यादा जानकारी के लिए, 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 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()
  • Java
    Cloud Firestore SDK टूल को आपके एनवायरमेंट के हिसाब से अलग-अलग तरीकों से शुरू किया जाता है. सबसे ज़्यादा इस्तेमाल किए जाने वाले तरीके, यहां दिए गए हैं. ज़्यादा जानकारी के लिए, 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 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();
  • मुख्य कार्रवाइयों का इस्तेमाल करके डेटा जोड़ना

    डेटा के बारे में क्वेरी करने के लिए, कोर ऑपरेशन और पाइपलाइन ऑपरेशन को एक्सप्लोर करें. इसके लिए, कोर ऑपरेशन का इस्तेमाल करके अपने डेटाबेस में डेटा जोड़ें.

    Cloud Firestore, डेटा को दस्तावेज़ों में सेव करता है. ये दस्तावेज़, कलेक्शन में सेव किए जाते हैं. Cloud Firestore, दस्तावेज़ में पहली बार डेटा जोड़ने पर, कलेक्शन और दस्तावेज़ों को अपने-आप बनाता है. आपको अलग से कलेक्शन या दस्तावेज़ बनाने की ज़रूरत नहीं है.

    यहां दिए गए उदाहरण कोड का इस्तेमाल करके, नया कलेक्शन और दस्तावेज़ बनाएं.

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

    मुख्य कार्रवाइयों का इस्तेमाल करके डेटा पढ़ना

    Firebase कंसोल में डेटा व्यूअर का इस्तेमाल करके, तुरंत पुष्टि करें कि आपने Cloud Firestore में डेटा जोड़ा है.

    पूरे कलेक्शन को वापस पाने के लिए, "get" तरीके का भी इस्तेमाल किया जा सकता है.

    Node.js
    const snapshot = await db.collection('users').get();
    snapshot.forEach((doc) => {
      console.log(doc.id, '=>', doc.data());
    });
    Python
    users_ref = db.collection("users")
    docs = users_ref.stream()
    
    for doc in docs:
        print(f"{doc.id} => {doc.to_dict()}")
    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"));
    }

    पाइपलाइन ऑपरेशन का इस्तेमाल करके डेटा पढ़ना

    अब पाइपलाइन क्वेरी के अनुभव की तुलना, कोर क्वेरी के अनुभव से की जा सकती है.

    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);
    }
    Python
    pipeline = client.pipeline().collection("users")
    for result in pipeline.execute():
        print(f"{result.id} => {result.data()}")
    Java
    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");
          }
        });

    अगले चरण

    इन विषयों की मदद से, कोर और पाइपलाइन ऑपरेशंस के बारे में ज़्यादा जानें: