If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
Node.JS में MongDB database से records को select करने के लिए findOne() और find() method का use किया जाता है। इस topic में आप सीखेंगे कि इन methods का use करके किस तरह से records को find / select किया जाता है।
findOne({}, callback) method का use वहां किया जाता है , जब हमें सिंर्फ single record find करना हो। by default इस method में empty object {} pass किया जाता है , लेकिन अगर आप किसी condition के according record find करना चाहते हैं तो आप object pass कर सकते हैं।
const { MongoClient } = require('mongodb');
const uri = "mongodb+srv://dbUser:dbPassword@cluster0.2n7fz.mongodb.net/node_mongodb?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true , connectTimeoutMS: 30000 , keepAlive: 1});
client.connect(error => {
if(error){
console.log("MongoDB Connect Error", error.name, error.message);
}else{
const database = client.db("node_mongodb");
const users = database.collection("users");
users.findOne({}, function(error, result){
if(error){
console.log("MongoDB Find Error", error.name, error.message);
}else{
console.log(result);
}
})
}
});
Output में आपको record मिलने पर single document (row) object मिलेगा otherwise empty object मिलेगा , जैसा कि नीचे example में दिखाया गया है।
C:\Users\HP\Desktop\workspace\nodejs>node app.js { _id: new ObjectId("61ff49456fb19c964c2f7529"), name: 'Rahul Kumar', age: 24, address: 'U.P. India', website: 'learnhindituts.com' }
हालाँकि अगर आप किसी condition के according record find करना चाहते हैं तो आप में findOne({columne:value}, callback) method where object pass कर सकते हैं।
see example :
let whereObj = {
age : 26
}
users.findOne(whereObj, function(error, result){
if(error){
console.log("MongoDB Find Error", error.name, error.message);
}else{
console.log(result);
}
})
C:\Users\HP\Desktop\workspace\nodejs>node app.js { _id: new ObjectId("61ff4d6c3c7e813b57e3214b"), name: 'Raju', age: 26, address: 'Punjab', website: null }
find({}, callback) method का use करके आप किसी collection में available सभी records को find / select कर सकते हैं । इस method में भी अगर आप किसी condition के according record find करना चाहते हैं तो आप where object pass कर सकते हैं।
const { MongoClient } = require('mongodb');
const uri = "mongodb+srv://dbUser:dbPassword@cluster0.2n7fz.mongodb.net/node_mongodb?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true , connectTimeoutMS: 30000 , keepAlive: 1});
client.connect(error => {
if(error){
console.log("MongoDB Connect Error", error.name, error.message);
}else{
const database = client.db("node_mongodb");
const users = database.collection("users");
// use toArray() method to find all documents
users.find({}).toArray(function(error, result){
if(error){
console.log("MongoDB Find Error", error.name, error.message);
}else{
console.log(result);
}
})
}
});
ध्यान रहे collection से सभी documents(rows) find करने के लिए आपको find().toArray() लिखना है , जिससे आपको documents(rows) का array मिल सके , जैसा कि नीचे output में देख सकते हैं।
C:\Users\HP\Desktop\workspace\nodejs>node app.js [ { _id: new ObjectId("61ff49456fb19c964c2f7529"), name: 'Rahul Kumar', age: 24, address: 'U.P. India', website: 'learnhindituts.com' }, { _id: new ObjectId("61ff4d6c3c7e813b57e3214a"), name: 'Mohit Kumar', age: 24, address: 'U.P. India', website: null }, { _id: new ObjectId("61ff4d6c3c7e813b57e3214b"), name: 'Raju', age: 26, address: 'Punjab', website: null } ]
documents में particular fields select करने के लिए , आपको find() या findOne() method में where Object के अलावा दूसरा object pass करना पड़ेगा जिसमे projection key के साथ वो fiel define करने हैं जिन्हे आपको select करना है।
Example :
users.find({}, {projection : {name : 1,age : 1}}).toArray(function(error, result){
if(error){
console.log("MongoDB Find Error", error.name, error.message);
}else{
console.log(result);
}
})
MongoDB में _id field select न करने पर भी मिलेगा , यह बाकी fields के साथ by default append हो जाता है , जैसा कि नीचे example में देख सकते हैं। अगर आपको _id नहीं select करना है तो projection में {_id :1},/span> pass करना पड़ेगा।
C:\Users\HP\Desktop\workspace\nodejs>node app.js [ { _id: new ObjectId("61ff49456fb19c964c2f7529"), name: 'Rahul Kumar', age: 24 }, { _id: new ObjectId("61ff4d6c3c7e813b57e3214a"), name: 'Mohit Kumar', age: 24 }, { _id: new ObjectId("61ff4d6c3c7e813b57e3214b"), name: 'Raju', age: 26 } ]
अब अगर आपको documents(rows) में से कुछ fields को छोड़कर सभी field select करने हैं तो projection में आपको उन fields को 0 assign {projection : {field : 0} } करना।
Example :
users.find({}, {projection : {_id : 0, website:0}}).toArray(function(error, result){
if(error){
console.log("MongoDB Find Error", error.name, error.message);
}else{
console.log(result);
}
})
C:\Users\HP\Desktop\workspace\nodejs>node app.js [ { name: 'Rahul Kumar', age: 24, address: 'U.P. India' }, { name: 'Mohit Kumar', age: 24, address: 'U.P. India' }, { name: 'Raju', age: 26, address: 'Punjab' } ]
तो कुछ इस तरह से Node.JS में MongoDB Database में Collection से Documents(Rows) को find / select करते हैं , I Hope, आपको अच्छे से समझ आया होगा।