1. अवलोकन
इस ट्यूटोरियल में, हम MongoDB के साथ कनेक्शन की जाँच करना सीखेंगे।
एक MongoDB इंस्टेंस से कनेक्ट करने के लिए महत्वपूर्ण रूप से, हमें MongoDB इंस्टेंस के URI को निर्दिष्ट करने की आवश्यकता है।
2. Mongo Shell का उपयोग करके कनेक्शन की जाँच करना
इस खंड में, हम मोंगो शेल कमांड का उपयोग करके मोंगोडीबी सर्वर से जुड़ेंगे। हम MongoDB से जुड़ने के विभिन्न मामलों का पता लगाएंगे।
2.1. डिफ़ॉल्ट पोर्ट पर कनेक्शन की जांच की जा रही है
डिफ़ॉल्ट रूप से, MongoDB पोर्ट पर चलता है 27017, लेकिन हम इसे किसी अन्य पोर्ट पर भी चला सकते हैं। हम साधारण मोंगो कमांड का उपयोग करके MongoDB सर्वर से जुड़ सकते हैं:
$ mongo
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b7f80a0c-c7b9-4aea-b34c-605b85e601dd") }
MongoDB server version: 4.0.1-rc0-2-g54f1582fc6
ऊपर दिए गए कमांड में, डिफ़ॉल्ट रूप से, MongoDB ने पोर्ट को 27017 . के रूप में ग्रहण किया . यदि MongoDB सर्वर डाउन है, तो हमें निम्न त्रुटि मिलती है:
$ mongo --host localhost --port 27017 admin
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server localhost:27017, connection attempt failed:
SocketException: Error connecting to localhost:27017 :: caused by :: Connection refused :
[email protected]/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1
इस मामले में, हमें त्रुटि मिली क्योंकि हम सर्वर से कनेक्ट नहीं हो सके।
2.2. सुरक्षित MongoDB डेटाबेस पर कनेक्शन की जाँच करना
MongoDB को प्रमाणीकरण के साथ संरक्षित किया जा सकता है। उस स्थिति में, हमें कमांड में यूज़रनेम और पासवर्ड पास करना होगा:
$ mongo mongodb://baeldung:[email protected]:27017
यहां हमने उपयोगकर्ता नाम . का उपयोग किया है "बेल्डुंग" और पासवर्ड लोकलहोस्ट पर चल रहे मोंगोडीबी से कनेक्ट करने के लिए "बेल्डुंग"।
2.3. कस्टम पोर्ट पर कनेक्शन की जांच की जा रही है
हम एक कस्टम पोर्ट पर MongoDB भी चला सकते हैं। हमें केवल mongod.conf . में परिवर्तन करने की आवश्यकता है फ़ाइल। यदि MongoDB किसी अन्य पोर्ट पर चल रहा है, तो हमें उस पोर्ट को कमांड में प्रदान करना होगा:
$ mongo mongodb://localhost:27001
यहां, मोंगो शेल में, हम डेटाबेस सर्वर के वर्तमान में सक्रिय कनेक्शन की भी जांच कर सकते हैं।
var status = db.serverStatus();
status.connections
{
"current" : 21,
"available" : 15979
}
सर्वर स्थिति एक दस्तावेज़ देता है जो डेटाबेस प्रक्रिया की वर्तमान स्थिति का अवलोकन देता है। serverStatus को नियमित रूप से चलाना कमांड MongoDB उदाहरण के बारे में आंकड़े एकत्र करेगा।
3. Java ड्राइवर कोड का उपयोग करके कनेक्शन की जाँच करना
अब तक, हमने शेल का उपयोग करके MongoDB के साथ कनेक्शन की जांच करना सीखा है। आइए अब जावा ड्राइवर कोड का उपयोग करके इसे देखें:
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// builder settings
ServerAddress ServerAddress = new ServerAddress("localhost", 27017);
MongoClient mongoClient = new MongoClient(ServerAddress, builder.build());
try {
System.out.println("MongoDB Server is Up:- "+mongoClient.getAddress());
System.out.println(mongoClient.getConnectPoint());
System.out.println(db.getStats());
} catch (Exception e) {
System.out.println("MongoDB Server is Down");
} finally{
mongoClient.close();
}
उपरोक्त कोड में, हमने सबसे पहले MongoClientOption . बनाया है MongoClient . के कॉन्फ़िगरेशन को अनुकूलित करने के लिए बिल्डर कनेक्टिविटी, फिर MongoClient . बनाया सर्वर पते का उपयोग कर कनेक्शन। मान लीजिए MongoDB सर्वर 27017 . पर चल रहा है लोकलहोस्ट का पोर्ट। अन्यथा, MongoClient त्रुटि देगा।