MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Nie można połączyć się z MongoDb (przy użyciu uwierzytelniania) przy użyciu mongocsharpdriver 2.7.0

Kliknij ten link Strona Mongo i spójrz na sekcję

Problem polega na tym, że uwierzytelniasz użytkownika mongoadmin dla clientdb. Ale użytkownik mongoadmin jest uwierzytelniany do admin db. Uzyskaj uwierzytelnienie użytkownika mongoadmin, a następnie uzyskaj dostęp do bazy danych klienta.

Poniżej znajduje się przykład przy użyciu metody 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");
        } 

I zgodnie z twoim kodem, poniżej zadziała:

Twój plik konfiguracyjny powinien wyglądać następująco:

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

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

Jak widać, użytkownik mongoadmin jest najpierw uwierzytelniany do admin db. Następnie możesz połączyć się z bazą danych klienta



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdź i modyfikuj za pomocą MongoDB C#

  2. Perl Mongo znajdź identyfikator obiektu

  3. Indeksy MongoDB i operator $or

  4. jaki jest prawdziwy cel $ref (DBref) w MongoDb?

  5. Czy istnieje odpowiednik PyMongo dla Pythona 3.2?