MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडब को सहेजने का प्रयास करते समय प्रमाणीकरण विफलता

कहां, यानी आपने किस डेटाबेस में यूजर बनाया? आमतौर पर उपयोगकर्ता डेटाबेस में बनाए जाते हैं admin . जब आप किसी MongoDB से जुड़ते हैं तो आपको हमेशा प्रमाणीकरण डेटाबेस और वह डेटाबेस निर्दिष्ट करना चाहिए जिसका आप उपयोग करना चाहते हैं।

डिफ़ॉल्ट थोड़ा भ्रमित करने वाला है और वास्तव में सुसंगत नहीं है, एक सिंहावलोकन प्राप्त करने के लिए यह तालिका देखें:

+----------------------------------------------------------------------------------------+
|Connection string                                           | Authentication | Current  |
|                                                            | database       | database |
+----------------------------------------------------------------------------------------+
|mongo -u <...> -p <...> --authenticationDatabase admin myDB |     admin      |   myDB   |
|mongo -u <...> -p <...> myDB                                |     myDB       |   myDB   |
|mongo -u <...> -p <...> --authenticationDatabase admin      |     admin      |   test   |
|mongo -u <...> -p <...> localhost:27017                     |     test       |   test   |
|mongo -u <...> -p <...> --host localhost:27017              |     admin      |   test   |
|mongo -u <...> -p <...>                                     |     admin      |   test   |
+----------------------------------------------------------------------------------------+

यदि आप यूआरआई प्रारूप में कनेक्शन स्ट्रिंग का उपयोग करना चाहते हैं, तो यह इनके अनुरूप होगा:

mongodb://<username>:<password>@hostname/myDB?authSource=admin
mongodb://<username>:<password>@hostname/myDB
mongodb://<username>:<password>@hostname?authSource=admin
mongodb://<username>:<password>@hostname

मुझे लगता है कि आपने उपयोगकर्ता को admin . में बनाया है डेटाबेस लेकिन जैसा कि आप कनेक्ट करते समय प्रमाणीकरणडेटाबेस निर्दिष्ट नहीं करते हैं, मोंगो इसे mydatabase पर डिफ़ॉल्ट करता है जहां यह विफल हो जाता है, क्योंकि उपयोगकर्ता डेटाबेस में मौजूद नहीं है mydatabase




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. जांचें कि फ़ील्ड MongoDB के साथ मौजूद है

  2. mongodb विफल:डीबी सर्वर से कनेक्ट करने में त्रुटि:कोई पहुंच योग्य सर्वर नहीं

  3. MongoDB सेलेक्ट काउंट ग्रुप बाय

  4. यूनिट परीक्षण के लिए मॉक मोंगोडीबी सर्वर का प्रयोग करें

  5. मोंगोडब द्वारा उपयोग किए जाने वाले कैशिंग को कैसे जारी किया जाए?