sql >> Database >  >> NoSQL >> MongoDB

Kan geen verbinding maken met MongoDb (met behulp van authenticatie) met behulp van mongocsharpdriver 2.7.0

Volg deze link Mongo-site en kijk naar Sectie

Het probleem is dat u de mongoadmin-gebruiker voor clientdb verifieert. Maar mongoadmin-gebruiker is geverifieerd bij admin db. Zorg dat de mongoadmin-gebruiker wordt geverifieerd en dan heb je toegang tot clientdb.

Hieronder ziet u het voorbeeld met de URI-methode:

        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");
        } 

En volgens uw code, hieronder zal werken:

Uw configuratiebestand zou er als volgt uit moeten zien:

<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>

En C#-code:

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"]);
        }
    }

Zoals u kunt zien, wordt de mongoadmin-gebruiker eerst geverifieerd bij admin db. Dan kunt u verbinding maken met clientdb



  1. Aan de slag met Redis Client API's

  2. Redis Client List doel en beschrijving

  3. Hoe de verbinding met mongodb te controleren

  4. Hoe installeer ik php-mongo op CentOS 5.3?