इस लिंक का अनुसरण करें Mongo Site और अनुभाग देखें
मुद्दा यह है कि आप क्लाइंटडीबी के लिए मोंगोएडमिन उपयोगकर्ता को प्रमाणित कर रहे हैं। लेकिन mongoadmin उपयोगकर्ता db को व्यवस्थापक करने के लिए प्रमाणित है। मोंगोएडमिन उपयोगकर्ता को प्रमाणित करवाएं और फिर आप क्लाइंटडीबी तक पहुंच सकते हैं।
यूआरआई विधि का उपयोग कर नमूना नीचे दिया गया है:
IMongoClient _client;
public readonly IMongoDatabase _database;
public MongoContext_URIBased()
{
var mongoUrl = new MongoUrl("mongodb://mongoadmin:[email protected]:2020/admin");
_client = new MongoClient(mongoUrl);
_database = _client.GetDatabase("clientdb");
}
और आपके कोड के अनुसार, नीचे काम करेगा:
आपकी कॉन्फिग फाइल इस तरह होनी चाहिए:
<appSettings>
<add key="MongoMasterDatabaseName" value="admin" />
<add key="MongoUsername" value="mongoadmin" />
<add key="MongoPassword" value="secret" />
<add key="MongoPort" value="2020" />
<add key="MongoHost" value="172.17.103.158" />
<add key="MongoClientDatabaseName" value="clientDb" />
</appSettings>
और सी# कोड:
public class MongoContext
{
IMongoClient _client;
public readonly IMongoDatabase _database;
public MongoContext()
{
MongoCredential credential = MongoCredential.CreateCredential(ConfigurationManager.AppSettings["MongoMasterDatabaseName"], ConfigurationManager.AppSettings["MongoUsername"], ConfigurationManager.AppSettings["MongoPassword"]);
var settings = new MongoClientSettings
{
Credential = credential,
Server = new MongoServerAddress(, Convert.ToInt32(ConfigurationManager.AppSettings["MongoPort"]))
};
_client = new MongoClient(settings);
_database = _client.GetDatabase(ConfigurationManager.AppSettings["MongoClientDatabaseName"]);
}
}
जैसा कि आप देख सकते हैं, mongoadmin उपयोगकर्ता पहले db को admin करने के लिए प्रमाणित हो रहा है। फिर आप क्लाइंटडीबी से जुड़ सकते हैं