MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Не може да се свърже с MongoDb (чрез удостоверяване) с помощта на mongocsharpdriver 2.7.0

Следвайте тази връзка Сайт на Mongo и погледнете раздела

Проблемът е, че удостоверявате потребителя mongoadmin за clientdb. Но потребителят на mongoadmin е удостоверен в admin db. Удостоверете потребителя на mongoadmin и след това можете да получите достъп до clientdb.

По-долу е примерът, използващ URI метод:

        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>

И C# код:

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 първо се удостоверява в admin db. След това можете да се свържете с clientdb



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. не мога да стартирам mongo db, initandlisten изключение

  2. DeprecationWarning:Слушането на събития в класа Db е отхвърлено и ще бъде премахнато в следващата основна версия

  3. Произволна извадка от MongoDB, връщаща силно изкривени резултати

  4. Грешка с невалиден идентификатор на курсора на mongodb

  5. Защо Mongoose има както схеми, така и модели?