Node.js MongoDB खोजें
MongoDB में हम संग्रह में डेटा खोजने के लिए खोज और ढूँढ़ने के तरीकों का उपयोग करते हैं।
जैसे MySQL डेटाबेस में किसी टेबल में डेटा खोजने के लिए SELECT स्टेटमेंट का उपयोग किया जाता है।
ढूँढो एक
MongoDB में संग्रह से डेटा का चयन करने के लिए, हम
findOne()
विधि का उपयोग कर सकते हैं।
findOne()
विधि चयन में पहली घटना लौटाती है ।
विधि का पहला पैरामीटर findOne()
एक क्वेरी ऑब्जेक्ट है। इस उदाहरण में हम एक खाली क्वेरी ऑब्जेक्ट का उपयोग करते हैं, जो संग्रह में सभी दस्तावेज़ों का चयन करता है (लेकिन केवल पहला दस्तावेज़ देता है)।
उदाहरण
ग्राहक संग्रह में पहला दस्तावेज़ खोजें:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").findOne({}, function(err, result) {
if (err) throw err;
console.log(result.name);
db.close();
});
});
उपरोक्त कोड को "demo_mongodb_findone.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_mongodb_findone.js" चलाएँ
C:\Users\Your Name>node demo_mongodb_findone.js
जो आपको यह परिणाम देगा:
Company Inc.
सब ढूँढ़ो
MongoDB में किसी तालिका से डेटा का चयन करने के लिए, हम
find()
विधि का भी उपयोग कर सकते हैं।
विधि चयन में सभी घटनाओं को find()
लौटाती है।
विधि का पहला पैरामीटर find()
एक क्वेरी ऑब्जेक्ट है। इस उदाहरण में हम एक खाली क्वेरी ऑब्जेक्ट का उपयोग करते हैं, जो संग्रह में सभी दस्तावेज़ों का चयन करता है।
खोज () विधि में कोई भी पैरामीटर आपको MySQL में SELECT * के समान परिणाम नहीं देता है ।
उदाहरण
ग्राहक संग्रह में सभी दस्तावेज़ खोजें:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
उपरोक्त कोड को "demo_mongodb_find.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_mongodb_find.js" चलाएँ
C:\Users\Your Name>node demo_mongodb_find.js
जो आपको यह परिणाम देगा:
[
{ _id:
58fdbf5c0ef8a50b4cdd9a84 , name: 'John', address: 'Highway 71'},
{ _id:
58fdbf5c0ef8a50b4cdd9a85 , name: 'Peter', address: 'Lowstreet 4'},
{
_id: 58fdbf5c0ef8a50b4cdd9a86 , name: 'Amy',
address: 'Apple st 652'},
{ _id: 58fdbf5c0ef8a50b4cdd9a87 , name: 'Hannah', address:
'Mountain 21'},
{ _id: 58fdbf5c0ef8a50b4cdd9a88 , name: 'Michael', address: 'Valley 345'},
{ _id: 58fdbf5c0ef8a50b4cdd9a89 , name: 'Sandy', address: 'Ocean blvd 2'},
{
_id: 58fdbf5c0ef8a50b4cdd9a8a ,
name: 'Betty', address: 'Green Grass 1'},
{ _id:
58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard',
address: 'Sky st 331'},
{ _id: 58fdbf5c0ef8a50b4cdd9a8c , name: 'Susan', address: 'One way
98'},
{ _id: 58fdbf5c0ef8a50b4cdd9a8d , name: 'Vicky', address: 'Yellow Garden 2'},
{ _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38'},
{
_id: 58fdbf5c0ef8a50b4cdd9a8f , name: 'William',
address: 'Central st 954'},
{ _id: 58fdbf5c0ef8a50b4cdd9a90 , name: 'Chuck', address:
'Main Road 989'},
{ _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway
1633'}
]
कुछ ढूं ढ़ो
find()
विधि का दूसरा पैरामीटर वह projection
ऑब्जेक्ट है जो बताता है कि परिणाम में किन क्षेत्रों को शामिल करना है।
यह पैरामीटर वैकल्पिक है, और यदि इसे छोड़ दिया जाता है, तो सभी फ़ील्ड परिणाम में शामिल हो जाएंगे।
उदाहरण
ग्राहक संग्रह में सभी दस्तावेज़ों के "नाम" और "पता" फ़ील्ड लौटाएँ:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}, { projection: { _id: 0, name: 1, address:
1 } }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
उपरोक्त कोड को "demo_mongodb_find_fields.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_mongodb_find_fields.js" चलाएँ
C:\Users\Your Name>node demo_mongodb_find_fields.js
जो आपको यह परिणाम देगा:
[
{ name: 'John', address: 'Highway 71'},
{ name: 'Peter', address: 'Lowstreet 4'},
{
name: 'Amy',
address: 'Apple st 652'},
{ name: 'Hannah', address:
'Mountain 21'},
{ name: 'Michael', address: 'Valley 345'},
{ name: 'Sandy', address: 'Ocean blvd 2'},
{
name: 'Betty', address: 'Green Grass 1'},
{ name: 'Richard',
address: 'Sky st 331'},
{ name: 'Susan', address: 'One way
98'},
{ name: 'Vicky', address: 'Yellow Garden 2'},
{ name: 'Ben', address: 'Park Lane 38'},
{
name: 'William',
address: 'Central st 954'},
{ name: 'Chuck', address:
'Main Road 989'},
{ name: 'Viola', address: 'Sideway
1633'}
]
आपको एक ही ऑब्जेक्ट में 0 और 1 दोनों मान निर्दिष्ट करने की अनुमति नहीं है (सिवाय इसके कि कोई एक फ़ील्ड _id फ़ील्ड है)। यदि आप मान 0 के साथ कोई फ़ील्ड निर्दिष्ट करते हैं, तो अन्य सभी फ़ील्ड मान 1 प्राप्त करते हैं, और इसके विपरीत:
उदाहरण
यह उदाहरण परिणाम से "पता" को बाहर कर देगा:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}, { projection: { address: 0
} }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
_id फ़ील्ड को बाहर करने के लिए, आपको उसका मान 0 पर सेट करना होगा:
उदाहरण
यह उदाहरण केवल "नाम" फ़ील्ड लौटाएगा:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}, { projection: { _id: 0, name: 1
} }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
उदाहरण
यह उदाहरण आपको पहले उदाहरण जैसा ही परिणाम देगा; _id फ़ील्ड को छोड़कर सभी फ़ील्ड लौटाएं:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}, { projection: { _id: 0
} }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
उदाहरण
यदि आप एक ही ऑब्जेक्ट में 0 और 1 दोनों मान निर्दिष्ट करते हैं, तो आपको एक त्रुटि मिलती है (सिवाय इसके कि कोई एक फ़ील्ड _id फ़ील्ड है):
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.collection("customers").find({}, { projection: { name: 1, address: 0
} }).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
परिणाम वस्तु
जैसा कि आप ऊपर दिए गए उदाहरण के परिणाम से देख सकते हैं, परिणाम को एक सरणी में परिवर्तित किया जा सकता है जिसमें प्रत्येक दस्तावेज़ एक वस्तु के रूप में होता है।
उदाहरण के लिए तीसरे दस्तावेज़ का पता वापस करने के लिए, केवल तीसरे सरणी ऑब्जेक्ट की पता संपत्ति देखें:
उदाहरण
तीसरे दस्तावेज़ का पता लौटाएँ:
console.log(result[2].address);
जो इस परिणाम का उत्पादन करेगा:
Apple st 652