Flutter मोबाइल विकास · पाठ

Cloud Firestore डेटाबेस

Cloud Firestore, एक NoSQL दस्तावेज़ डेटाबेस, का उपयोग करके सभी जुड़े क्लाइंट में डेटा को वास्तविक समय में संग्रहीत और समन्वयित करें।

पाठ 2, कुल 4 में से12 चरण

Cloud Firestore डेटाबेस, CoddyKit पर Flutter मोबाइल विकास का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Flutter मोबाइल विकास सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Flutter मोबाइल विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Cloud Firestore क्या है?

Cloud Firestore में आपका स्वागत है! यह Firebase की ओर से मोबाइल, वेब और सर्वर विकास के लिए एक लचीला, विस्तार योग्य NoSQL दस्तावेज़ डेटाबेस है।

यह आपके डेटा को क्लाइंट ऐप्स के बीच रीयल-टाइम में समकालित रखता है और ऑफ़लाइन सहायता प्रदान करता है, इसलिए यह प्रतिक्रियाशील ऐप्स के लिए बहुत उपयोगी है।

डेटा कैसे व्यवस्थित किया जाता है

Firestore डेटा को दस्तावेज़ों में संग्रहीत करता है, जो JSON ऑब्जेक्ट जैसे होते हैं। दस्तावेज़ों को संग्रहों में व्यवस्थित किया जाता है, जो दस्तावेज़ों के कंटेनर होते हैं।

  • संग्रह: दस्तावेज़ों के समूह।
  • दस्तावेज़: कुंजी-मान युग्म (फ़ील्ड), जिनमें उप-संग्रह हो सकते हैं।
  • फ़ील्ड: किसी दस्तावेज़ के भीतर मौजूद वास्तविक डेटा बिंदु।

Firestore बनाम Realtime Database

Firebase दो डेटाबेस प्रदान करता है: Firestore और Realtime Database। अपने अधिक सहज डेटा मॉडल, शक्तिशाली क्वेरी और बेहतर विस्तार क्षमता के कारण नए ऐप्स के लिए Firestore को सामान्यतः प्राथमिकता दी जाती है।

Firestore को एक आधुनिक उन्नयन की तरह समझें, जो जटिल डेटा के लिए बेहतर संरचना और क्वेरी क्षमताएँ प्रदान करता है।

Flutter में Firestore तक पहुँचना

Firestore के साथ कार्य करने के लिए पहले सुनिश्चित करें कि आपने Firebase को आरंभ कर लिया है (पाठ 1 से)। फिर FirebaseFirestore का एक इंस्टेंस प्राप्त करें:

आपको cloud_firestore पैकेज को अपने pubspec.yaml में जोड़ना होगा।

import 'package:cloud_firestore/cloud_firestore.dart';
// Ensure Firebase is initialized in your main() or similar
// For example: await Firebase.initializeApp();

void main() {
  FirebaseFirestore db = FirebaseFirestore.instance;
  print("Firestore instance obtained!");
  // You would typically use this 'db' instance
  // within your Flutter widgets.
}

नए दस्तावेज़ संग्रहीत करना

आप set() या add() का उपयोग करके Firestore में डेटा जोड़ सकते हैं। set() से आप दस्तावेज़ ID निर्दिष्ट कर सकते हैं, जबकि add() अपने-आप एक ID बना देता है।

आइए 'users' संग्रह में एक नया उपयोगकर्ता जोड़ें:

import 'package:cloud_firestore/cloud_firestore.dart';
// Assume Firebase.initializeApp() is done.

void main() async {
  FirebaseFirestore db = FirebaseFirestore.instance;

  // Using .add() - Firestore generates a document ID
  DocumentReference docRef = await db.collection("users").add({
    "name": "Alice",
    "email": "alice@example.com",
    "age": 30,
    "isActive": true
  });
  print("Document added with ID: ${docRef.id}");

  // Using .set() - you provide the document ID
  await db.collection("cities").doc("LA").set({
    "name": "Los Angeles",
    "state": "CA",
    "country": "USA"
  });
  print("City 'LA' added.");
}

एक बार डेटा प्राप्त करना

किसी एक दस्तावेज़ को पढ़ने के लिए उसके संग्रह और ID का संदर्भ दें, फिर get() कॉल करें।

इससे डेटा एक बार प्राप्त होता है। आगे हम रीयल-टाइम अपडेट देखेंगे।

import 'package:cloud_firestore/cloud_firestore.dart';
// Assume Firebase.initializeApp() is done.

void main() async {
  FirebaseFirestore db = FirebaseFirestore.instance;

  // Replace 'some_doc_id' with an actual ID from your Firestore
  DocumentSnapshot doc = await db.collection("users").doc("some_doc_id").get();

  if (doc.exists) {
    print("Document data: ${doc.data()}");
    print("User name: ${doc.get('name')}");
  } else {
    print("No such document!");
  }
}

मौजूदा दस्तावेज़ों में बदलाव करना

पूरे दस्तावेज़ को अधिलेखित किए बिना विशिष्ट फ़ील्ड बदलने के लिए दस्तावेज़ संदर्भ पर update() विधि का उपयोग करें।

यह मौजूदा रिकॉर्ड में छोटे बदलाव करने के लिए उपयोगी है।

import 'package:cloud_firestore/cloud_firestore.dart';
// Assume Firebase.initializeApp() is done.

void main() async {
  FirebaseFirestore db = FirebaseFirestore.instance;

  // Replace 'some_doc_id' with an actual ID
  String docIdToUpdate = "some_doc_id";

  await db.collection("users").doc(docIdToUpdate).update({
    "age": 31,
    "city": "New York" // Add a new field
  });
  print("Document updated successfully!");

  // You can also update nested fields using dot notation
  // await db.collection("users").doc(docIdToUpdate).update({
  //   "address.street": "Main St"
  // });
}

दस्तावेज़ और फ़ील्ड हटाना

आप पूरा दस्तावेज़ या दस्तावेज़ के भीतर केवल विशिष्ट फ़ील्ड हटा सकते हैं।

  • पूरे दस्तावेज़ को हटाने के लिए दस्तावेज़ संदर्भ पर delete() का उपयोग करें।
  • किसी विशिष्ट फ़ील्ड को हटाने के लिए update() कॉल में FieldValue.delete() का उपयोग करें।
import 'package:cloud_firestore/cloud_firestore.dart';
// Assume Firebase.initializeApp() is done.

void main() async {
  FirebaseFirestore db = FirebaseFirestore.instance;

  // Replace with an actual document ID you wish to delete
  String docIdToDelete = "some_other_doc_id";

  // Delete a specific field from a document
  await db.collection("users").doc("some_doc_id").update({
    "isActive": FieldValue.delete()
  });
  print("Field 'isActive' deleted from document 'some_doc_id'.");

  // Delete an entire document
  await db.collection("users").doc(docIdToDelete).delete();
  print("Document '${docIdToDelete}' deleted.");
}

रीयल-टाइम डेटा अपडेट

Firestore की सबसे शक्तिशाली सुविधाओं में से एक रीयल-टाइम डेटा समकालिकीकरण है। किसी दस्तावेज़ या संग्रह में होने वाले बदलावों को सुनने के लिए snapshots() का उपयोग करें।

डेटाबेस में डेटा बदलने पर आपका ऐप अपने-आप अपडेट प्राप्त करेगा।

import 'package:cloud_firestore/cloud_firestore.dart';
// Assume Firebase.initializeApp() is done.

void main() {
  FirebaseFirestore db = FirebaseFirestore.instance;

  // Listen to a single document
  db.collection("users").doc("some_doc_id").snapshots().listen((snapshot) {
    if (snapshot.exists) {
      print("Real-time update for doc: ${snapshot.data()}");
    } else {
      print("Document no longer exists.");
    }
  });

  // Listen to a whole collection
  db.collection("users").snapshots().listen((snapshot) {
    print("Real-time update for collection. Total docs: ${snapshot.docs.length}");
    for (var doc in snapshot.docs) {
      print("  - ${doc.id}: ${doc.data()['name']}");
    }
  });

  print("Listeners set up. App will now receive real-time updates.");
  // In a real Flutter app, this would be part of a StatefulWidget's initState
  // and listeners would be cancelled in dispose().
}

उन्नत डेटा क्वेरी

Firestore आपको अपने डेटा को फ़िल्टर और क्रमबद्ध करने के लिए शक्तिशाली क्वेरी बनाने देता है। आप कई where() शर्तों और orderBy() कॉल को श्रृंखलाबद्ध कर सकते हैं।

  • where('field', isEqualTo: value)
  • orderBy('field', descending: true)
  • limit(count)

याद रखें, जटिल क्वेरी के लिए Firebase कंसोल में इंडेक्स बनाने की आवश्यकता हो सकती है।

Firestore संचालन जाँच

Cloud Firestore संचालन के बारे में निम्नलिखित में से कौन-से कथन TRUE हैं?

Firestore सारांश

बहुत अच्छा! आपने Cloud Firestore की मूल बातें सीख ली हैं, जिसमें इसकी NoSQL संरचना और डेटा जोड़ना, पढ़ना, अपडेट करना तथा हटाना शामिल है।

हमने रीयल-टाइम श्रोताओं और बुनियादी क्वेरी का भी अध्ययन किया। Firestore गतिशील, डेटा-आधारित Flutter ऐप बनाने के लिए एक शक्तिशाली साधन है!

अब हम छवियों और वीडियो जैसी बड़ी फ़ाइलों को संभालने के लिए Firebase Cloud Storage का अध्ययन करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Dart सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
22
पाठ
88

अक्सर पूछे जाने वाले प्रश्न

क्या “Cloud Firestore डेटाबेस” पाठ निःशुल्क है?

हाँ — Flutter मोबाइल विकास अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Cloud Firestore डेटाबेस” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Flutter मोबाइल विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Cloud Firestore डेटाबेस” में मैं क्या सीखूँगा?

Cloud Firestore, एक NoSQL दस्तावेज़ डेटाबेस, का उपयोग करके सभी जुड़े क्लाइंट में डेटा को वास्तविक समय में संग्रहीत और समन्वयित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Flutter मोबाइल विकास का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Flutter मोबाइल विकास शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Flutter मोबाइल विकास शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“Cloud Firestore डेटाबेस” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Flutter मोबाइल विकास पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Flutter मोबाइल विकास पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Firebase सेटअप और प्रमाणीकरण
  2. Cloud Firestore डेटाबेस
  3. Cloud Storage और Functions
  4. Firebase Cloud Messaging और सूचनाएँ
← Flutter मोबाइल विकास पर वापस जाएँ