इस क्विकस्टार्ट में, Cloud Firestore को सेट अप करने, डेटा जोड़ने, और फिर Java, Node.js, और Python के लिए सर्वर क्लाइंट लाइब्रेरी का इस्तेमाल करके, Firebase कंसोल में जोड़े गए डेटा को क्वेरी करने का तरीका बताया गया है. इसके लिए, कोर ऑपरेशंस या पाइपलाइन ऑपरेशंस का इस्तेमाल किया जा सकता है.
इन क्लाइंट लाइब्रेरी का इस्तेमाल करके, अपने डेटाबेस को पूरी तरह से ऐक्सेस करने के लिए, खास अधिकारों वाले सर्वर एनवायरमेंट सेट अप करें..
Cloud Firestore डेटाबेस बनाना
अगर आपने अब तक Firebase प्रोजेक्ट नहीं बनाया है, तो उसे बनाएं: Firebase कंसोल में, प्रोजेंक्ट जोड़ें पर क्लिक करें. इसके बाद, स्क्रीन पर दिए गए निर्देशों का पालन करके, Firebase प्रोजेक्ट बनाएं या मौजूदा Google Cloud प्रोजेक्ट में Firebase की सेवाएं जोड़ें.
बाईं ओर मौजूद पैनल में, डेटाबेस और स्टोरेज > Firestore पर जाएं.
डेटाबेस बनाएं पर क्लिक करें.
डेटाबेस मोड के लिए, Enterprise चुनें.
ऑपरेशन मोड के लिए, Firestore in Native Mode चुनें. यह मोड, कोर और पाइपलाइन ऑपरेशंस के साथ काम करता है.
अपने डेटाबेस के लिए कोई जगह चुनें.
Cloud Firestore Security Rules के लिए, कोई शुरुआती मोड चुनें:
- टेस्ट मोड
यह मोड, मोबाइल और वेब क्लाइंट लाइब्रेरी के साथ काम करने के लिए अच्छा है. हालांकि, इससे कोई भी आपका डेटा पढ़ सकता है और उसे बदल सकता है. टेस्टिंग के बाद, पक्का करें कि आपने 'अपने डेटा को सुरक्षित करना' सेक्शन की समीक्षा कर ली हो.
वेब, Apple प्लैटफ़ॉर्म या Android SDK टूल का इस्तेमाल शुरू करने के लिए, टेस्ट मोड चुनें.
- प्रोडक्शन मोड
यह मोड, मोबाइल और वेब क्लाइंट से डेटा पढ़ने और लिखने की सभी कार्रवाइयों को रोकता है. हालांकि, पुष्टि किए गए ऐप्लिकेशन सर्वर (Node.js, Python, Java) अब भी आपके डेटाबेस को ऐक्सेस कर सकते हैं.
Cloud Firestore Security Rules का शुरुआती सेट, आपके डिफ़ॉल्ट Cloud Firestore डेटाबेस पर लागू होगा. अगर अपने प्रोजेक्ट के लिए एक से ज़्यादा डेटाबेस बनाते हैं, तो हर डेटाबेस के लिए Cloud Firestore Security Rules लागू किए जा सकते हैं.
बनाएं पर क्लिक करें.
Cloud Firestore को चालू करने पर, Cloud API Manager में एपीआई भी चालू हो जाता है.
अपना डेवलपमेंट एनवायरमेंट सेट अप करना
अपने ऐप्लिकेशन में ज़रूरी डिपेंडेंसी और क्लाइंट लाइब्रेरी जोड़ें.
Node.js
-
अपने ऐप्लिकेशन में Firebase Admin SDK टूल जोड़ें:
npm install firebase-admin --save
- अपने एनवायरमेंट में सही क्रेडेंशियल के साथ Cloud Firestore को शुरू करने के लिए, नीचे दिए गए निर्देशों का पालन करें.
Python
- अपने Python ऐप्लिकेशन में Firebase Admin SDK टूल जोड़ें:
pip install --upgrade firebase-admin
- अपने एनवायरमेंट में सही क्रेडेंशियल के साथ Cloud Firestore को शुरू करने के लिए, नीचे दिए गए निर्देशों का पालन करें.
Java
- अपने ऐप्लिकेशन में Firebase Admin SDK टूल जोड़ें:
-
Gradle का इस्तेमाल करके:
implementation 'com.google.firebase:firebase-admin:9.9.0'
-
Maven का इस्तेमाल करके:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.9.0</version> </dependency>
-
Gradle का इस्तेमाल करके:
- अपने एनवायरमेंट में सही क्रेडेंशियल के साथ 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 टूल को शुरू करना.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 टूल को शुरू करना.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
Java
Python
कोर ऑपरेशंस का इस्तेमाल करके डेटा पढ़ना
पूरी कलेक्शन को वापस पाने के लिए, "get" तरीके का भी इस्तेमाल किया जा सकता है.
Node.js
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Java
पाइपलाइन ऑपरेशंस का इस्तेमाल करके डेटा पढ़ना
अब पाइपलाइन क्वेरी के अनुभव की तुलना, कोर क्वेरी के अनुभव से की जा सकती है.
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"); } });
अगले चरण
इन विषयों की मदद से, कोर और पाइपलाइन ऑपरेशंस के बारे में ज़्यादा जानें:
- पक्का करें कि आपको कोर और पाइपलाइन ऑपरेशंस के बीच के अंतर के बारे में पता हो
- कोर ऑपरेशंस का इस्तेमाल करके क्वेरी करने के बारे में ज़्यादा जानें
- पाइपलाइन ऑपरेशंस का इस्तेमाल करके क्वेरी करने के बारे में ज़्यादा जानें.