प्रमाणीकरण डेटाबेस स्तर पर प्रबंधित किया जाता है। जब आप किसी डेटाबेस का उपयोग करके सिस्टम से कनेक्ट करने का प्रयास करते हैं, तो mongo वास्तव में आपके द्वारा संग्रह <database>.system.users
में प्रदान किए गए क्रेडेंशियल की जांच करता है। . इसलिए, मूल रूप से जब आप "टेस्ट" से कनेक्ट करने का प्रयास कर रहे हैं, तो यह test.system.users
में क्रेडेंशियल्स की तलाश करता है और एक त्रुटि देता है क्योंकि यह उन्हें नहीं ढूंढ सकता (क्योंकि वे admin.system.users
. में संग्रहीत हैं ) सभी डीबी से पढ़ने और लिखने का अधिकार होने का मतलब यह नहीं है कि आप उनसे सीधे जुड़ सकते हैं।
आपको पहले क्रेडेंशियल्स रखने वाले डेटाबेस से कनेक्ट करना होगा। कोशिश करें:
mongo admin -u admin -p SECRETPASSWORD
अधिक जानकारी के लिए, यह http://docs.mongodb.org/manual/reference/privilege-documents/
देखें।