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

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

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

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

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

  2. Firebase कंसोल में अपना प्रोजेक्ट खोलें. बाएं पैनल में, बनाएं को बड़ा करें. इसके बाद, Firestore डेटाबेस चुनें.

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

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

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

  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.7.1'
    • Maven का इस्तेमाल करके:
      <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>9.7.1</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 फ़ाइल को सेव करें. इसके बाद, एसडीके को शुरू करने के लिए फ़ाइल का इस्तेमाल करें:

    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 फ़ाइल को सेव करें. इसके बाद, एसडीके को शुरू करने के लिए फ़ाइल का इस्तेमाल करें:

    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 फ़ाइल को सेव करें. इसके बाद, एसडीके को शुरू करने के लिए फ़ाइल का इस्तेमाल करें:

    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 Documents में डेटा सेव करता है. ये Documents, Collections में सेव किए जाते हैं. 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");
          }
        });

    अगले चरण

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