मूलभूत डेटा प्रश्न
अपने Realtime Database से विशिष्ट डेटा उपसमुच्चय प्राप्त करने के लिए मूलभूत प्रश्न चलाएँ
मूलभूत डेटा प्रश्न, CoddyKit पर Firebase Auth और रीयल-टाइम database applications का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Firebase Auth और रीयल-टाइम database applications सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डेटाबेस क्वेरी का परिचय
मूल डेटा क्वेरी में आपका स्वागत है! इस पाठ में आप सीखेंगे कि Firebase Realtime Database से विशिष्ट डेटा को प्रभावी ढंग से कैसे प्राप्त किया जाए।
डेटाबेस क्वेरी को अपने डेटाबेस से पूछा गया कोई सटीक प्रश्न समझें। सारा डेटा प्राप्त करने के बजाय, आप केवल आवश्यक डेटा प्राप्त करते हैं, जिससे बैंडविड्थ बचती है और ऐप्लिकेशन का प्रदर्शन बेहतर होता है।
हम अपने उदाहरणों में Firebase JavaScript SDK का उपयोग करेंगे। किसी भी क्वेरी की शुरुआत के लिए मुख्य आधार firebase.database().ref() है, जो आपके डेटाबेस में किसी विशिष्ट स्थान की ओर संकेत करता है।
नमूना डेटा और प्रारंभिक सेटअप
सबसे पहले, Firebase के साथ इंटरैक्ट करने और कुछ नमूना डेटा भरने के लिए एक मूल HTML पृष्ठ तैयार करते हैं। यह हमारे उदाहरणों के लिए 'मुख्य प्रवेश बिंदु' का काम करेगा।
हम एक सरल 'users' डेटा-समूह का उपयोग करेंगे, जिसमें हर उपयोगकर्ता के पास name, age और city होगा।
महत्वपूर्ण: YOUR_API_KEY, YOUR_PROJECT_ID आदि को अपने वास्तविक Firebase प्रोजेक्ट कॉन्फ़िगरेशन से बदलें।
<!DOCTYPE html>
<html>
<head>
<title>Firebase Query Demo</title>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></script>
</head>
<body>
<h1>Firebase Query Setup</h1>
<p>Check your browser's console for output.</p>
<script>
// Your Firebase project configuration
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
databaseURL: "https://YOUR_PROJECT_ID-default-rtdb.firebaseio.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
// Reference to the 'users' node
const usersRef = db.ref('users');
// Sample data to write (only if not already present)
const sampleUsers = {
"user1": { "name": "Alice", "age": 30, "city": "New York" },
"user2": { "name": "Bob", "age": 25, "city": "London" },
"user3": { "name": "Charlie", "age": 35, "city": "New York" },
"user4": { "name": "David", "age": 25, "city": "Paris" }
};
// Write data to the database (only once for demo)
usersRef.once('value', snapshot => {
if (!snapshot.exists()) {
usersRef.set(sampleUsers)
.then(() => console.log('Sample data written successfully!'))
.catch(error => console.error('Error writing sample data:', error));
} else {
console.log('Sample data already exists. Skipping write.');
}
});
console.log('Firebase initialized and sample data check complete.');
</script>
</body>
</html>डेटा का क्रम निर्धारित करना: orderByChild()
अपने डेटा को क्रमबद्ध करने का सबसे सामान्य तरीका orderByChild() का उपयोग करना है। यह विधि किसी दिए गए संदर्भ के चाइल्ड को निर्दिष्ट चाइल्ड कुंजी के मान के आधार पर क्रमबद्ध करती है।
उदाहरण के लिए, यदि आपके पास उपयोगकर्ताओं की सूची है और हर उपयोगकर्ता के पास 'age' गुण है, तो आप उन्हें उम्र के अनुसार क्रमबद्ध करने के लिए orderByChild('age') का उपयोग कर सकते हैं।
- यह एक आर्ग्युमेंट लेती है: जिस चाइल्ड कुंजी के आधार पर क्रम निर्धारित करना है उसका नाम।
- डिफ़ॉल्ट रूप से परिणाम आरोही क्रम में लौटाए जाते हैं।
orderByChild() का उपयोग
आइए अपने उपयोगकर्ताओं को उनके age के आधार पर क्रमबद्ध करके प्राप्त करें। आउटपुट में उपयोगकर्ता सबसे कम उम्र से सबसे अधिक उम्र के क्रम में दिखाई देंगे।
यह कोड चलाएँ और कंसोल आउटपुट या पृष्ठ पर दिखाई देने वाली सूची देखें!
<!DOCTYPE html>
<html>
<head>
<title>OrderByChild Demo</title>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></script>
</head>
<body>
<h1>OrderByChild Query</h1>
<p>Users ordered by age:</p>
<ul id="user-list"></ul>
<script>
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
databaseURL: "https://YOUR_PROJECT_ID-default-rtdb.firebaseio.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
const usersRef = db.ref('users');
usersRef.orderByChild('age').on('value', (snapshot) => {
const userList = document.getElementById('user-list');
userList.innerHTML = ''; // Clear previous list
snapshot.forEach((childSnapshot) => {
const user = childSnapshot.val();
const li = document.createElement('li');
li.textContent = `${user.name} (Age: ${user.age}, City: ${user.city})`;
userList.appendChild(li);
});
console.log('Users ordered by age:', snapshot.val());
}, (error) => {
console.error('Error fetching data:', error);
});
</script>
</body>
</html>अन्य क्रम-विधियाँ: orderByKey() और orderByValue()
orderByChild() के अलावा Firebase Realtime Database क्रम निर्धारित करने की दो अन्य विधियाँ भी उपलब्ध कराता है:
orderByKey(): चाइल्ड की कुंजियों के आधार पर परिणामों को क्रमबद्ध करती है। यह तब उपयोगी है जब आपकी कुंजियाँ ID या क्रमिक संख्याओं को दर्शाती हों।orderByValue(): इसका उपयोग तब किया जाता है जब चाइल्ड ऑब्जेक्ट के बजाय सरल आदिम मान, जैसे स्ट्रिंग, संख्या या बूलियन, हों। यह सीधे इन्हीं मानों के आधार पर क्रमबद्ध करती है।
याद रखें, हर क्वेरी में आप केवल एक orderBy विधि का उपयोग कर सकते हैं।
orderByKey() का उदाहरण
आइए orderByKey() को काम करते हुए देखें। यह हमारे उपयोगकर्ताओं को उनकी विशिष्ट उपयोगकर्ता ID, जैसे 'user1' और 'user2', के आधार पर क्रमबद्ध करेगा।
यदि कोई orderBy निर्दिष्ट नहीं किया गया हो, तो यह अक्सर डिफ़ॉल्ट व्यवहार होता है; लेकिन इसे स्पष्ट रूप से लिखने से आपका उद्देश्य अधिक स्पष्ट हो सकता है।
<!DOCTYPE html>
<html>
<head>
<title>OrderByKey Demo</title>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></script>
</head>
<body>
<h1>OrderByKey Query</h1>
<p>Users ordered by key:</p>
<ul id="user-list"></ul>
<script>
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
databaseURL: "https://YOUR_PROJECT_ID-default-rtdb.firebaseio.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
const usersRef = db.ref('users');
usersRef.orderByKey().on('value', (snapshot) => {
const userList = document.getElementById('user-list');
userList.innerHTML = '';
snapshot.forEach((childSnapshot) => {
const user = childSnapshot.val();
const key = childSnapshot.key;
const li = document.createElement('li');
li.textContent = `ID: ${key}, Name: ${user.name} (Age: ${user.age})`;
userList.appendChild(li);
});
console.log('Users ordered by key:', snapshot.val());
}, (error) => {
console.error('Error fetching data:', error);
});
</script>
</body>
</html>परिणाम सीमित करना: limitToFirst()
अक्सर आपको सभी परिणामों की आवश्यकता नहीं होती, बल्कि केवल कुछ परिणाम चाहिए होते हैं। limitToFirst() और limitToLast() आपको प्राप्त किए जाने वाले आइटम की अधिकतम संख्या निर्दिष्ट करने देते हैं।
limitToFirst(n): क्रम निर्धारित करने के बाद पहलेnआइटम लौटाती है।limitToLast(n): क्रम निर्धारित करने के बाद अंतिमnआइटम लौटाती है।
समान और अपेक्षित परिणाम-समूह सुनिश्चित करने के लिए इनका उपयोग हमेशा orderBy विधियों में से किसी एक के साथ किया जाता है।
limitToFirst() का उदाहरण
आइए उम्र के आधार पर क्रमबद्ध किए गए उपयोगकर्ताओं में से केवल पहले दो उपयोगकर्ताओं को प्राप्त करें। यह लीडरबोर्ड या हाल की गतिविधि दिखाने के लिए उपयोगी है।
ध्यान दें कि विशिष्ट डेटा-खंड प्राप्त करने के लिए हम orderByChild() और limitToFirst() को एक साथ कैसे उपयोग करते हैं।
<!DOCTYPE html>
<html>
<head>
<title>LimitToFirst Demo</title>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></script>
</head>
<body>
<h1>LimitToFirst Query</h1>
<p>First 2 users ordered by age:</p>
<ul id="user-list"></ul>
<script>
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
databaseURL: "https://YOUR_PROJECT_ID-default-rtdb.firebaseio.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
const usersRef = db.ref('users');
usersRef.orderByChild('age').limitToFirst(2).on('value', (snapshot) => {
const userList = document.getElementById('user-list');
userList.innerHTML = '';
snapshot.forEach((childSnapshot) => {
const user = childSnapshot.val();
const li = document.createElement('li');
li.textContent = `${user.name} (Age: ${user.age}, City: ${user.city})`;
userList.appendChild(li);
});
console.log('First 2 users by age:', snapshot.val());
}, (error) => {
console.error('Error fetching data:', error);
});
</script>
</body>
</html>equalTo() से फ़िल्टर करना
किसी विशिष्ट मान से बिल्कुल मेल खाने वाले आइटम खोजने के लिए equalTo() का उपयोग करें। यह विधि लगभग हमेशा orderBy विधियों में से किसी एक के साथ मिलाकर उपयोग की जाती है।
- यह एक आर्ग्युमेंट लेती है: वह सटीक मान जिससे मिलान करना है।
- उदाहरण के लिए,
orderByChild('city').equalTo('New York')उन सभी उपयोगकर्ताओं को खोजेगा जिनका शहर 'New York' है।
याद रखें, equalTo() को यह जानने के लिए orderBy क्लॉज़ की आवश्यकता होती है कि किस चाइल्ड या कुंजी से तुलना करनी है।
equalTo() का उदाहरण
आइए 'New York' में रहने वाले सभी उपयोगकर्ताओं को प्राप्त करें। हम city के आधार पर क्रम निर्धारित करेंगे और फिर बिल्कुल सही मिलान के लिए फ़िल्टर करेंगे।
यह क्वेरी उपयोगकर्ता के गुणों के आधार पर विशिष्ट रिकॉर्ड खोजने के लिए बहुत प्रभावी है।
<!DOCTYPE html>
<html>
<head>
<title>EqualTo Demo</title>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></script>
</head>
<body>
<h1>EqualTo Query</h1>
<p>Users living in New York:</p>
<ul id="user-list"></ul>
<script>
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
databaseURL: "https://YOUR_PROJECT_ID-default-rtdb.firebaseio.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};
firebase.initializeApp(firebaseConfig);
const db = firebase.database();
const usersRef = db.ref('users');
usersRef.orderByChild('city').equalTo('New York').on('value', (snapshot) => {
const userList = document.getElementById('user-list');
userList.innerHTML = '';
snapshot.forEach((childSnapshot) => {
const user = childSnapshot.val();
const li = document.createElement('li');
li.textContent = `${user.name} (Age: ${user.age}, City: ${user.city})`;
userList.appendChild(li);
});
console.log('Users in New York:', snapshot.val());
}, (error) => {
console.error('Error fetching data:', error);
});
</script>
</body>
</html>त्वरित जाँच: मूल क्वेरी
users नोड में { name: 'Alice', age: 30, city: 'New York' } जैसे चाइल्ड हों, तो 'New York' के उपयोगकर्ताओं को सही तरीके से प्राप्त करने वाली क्वेरी कौन-सी है?
पुनरावृत्ति: मूल डेटा क्वेरी
बधाई हो! आपने Firebase Realtime Database में क्वेरी करने की मूल बातें पूरी कर ली हैं।
हमने ये विषय सीखे:
- किसी विशिष्ट गुण के आधार पर डेटा क्रमबद्ध करने के लिए
orderByChild()का उपयोग। - अलग-अलग क्रमबद्ध करने की आवश्यकताओं के लिए
orderByKey()औरorderByValue()। limitToFirst()औरlimitToLast()से परिणामों को सीमित करना।- हमेशा
orderByक्लॉज़ के साथequalTo()का उपयोग करके बिल्कुल सही मिलान वाले परिणामों को फ़िल्टर करना।
कुशल और तेज़ प्रतिक्रिया देने वाले ऐप्लिकेशन बनाने के लिए क्वेरी करने की ये मूल तकनीकें बहुत महत्वपूर्ण हैं। अगले पाठ में हम अधिक उन्नत फ़िल्टरिंग और क्रमबद्ध करने की तकनीकों का विस्तार से अध्ययन करेंगे!
एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 11
- पाठ
- 44
अक्सर पूछे जाने वाले प्रश्न
क्या “मूलभूत डेटा प्रश्न” पाठ निःशुल्क है?
हाँ — Firebase Auth और रीयल-टाइम database applications अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “मूलभूत डेटा प्रश्न” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“मूलभूत डेटा प्रश्न” में मैं क्या सीखूँगा?
अपने Realtime Database से विशिष्ट डेटा उपसमुच्चय प्राप्त करने के लिए मूलभूत प्रश्न चलाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Firebase Auth और रीयल-टाइम database applications शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“मूलभूत डेटा प्रश्न” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Firebase Auth और रीयल-टाइम database applications पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- मूलभूत डेटा प्रश्न
- डेटा को फ़िल्टर और क्रमित करना
- डेटा पृष्ठांकन तकनीकें
- प्रदर्शन के लिए क्वेरी का अनुक्रमण