MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tidak dapat terhubung ke MongoDb (menggunakan otentikasi) menggunakan mongocsharpdriver 2.7.0

Ikuti tautan ini Situs Mongo dan lihat Bagian

Masalahnya adalah Anda mengautentikasi pengguna mongoadmin untuk clientdb. Tetapi pengguna mongoadmin diautentikasi ke admin db. Dapatkan otentikasi pengguna mongoadmin dan kemudian Anda dapat mengakses clientdb.

Di bawah ini adalah contoh menggunakan metode 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");
        } 

Dan Menurut kode Anda, di bawah ini akan berfungsi:

File konfigurasi Anda harus seperti:

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

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

Seperti yang Anda lihat, pengguna mongoadmin diautentikasi ke admin db terlebih dahulu. Kemudian Anda dapat terhubung ke clientdb



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError:tidak diizinkan untuk menjalankan perintah { find:app_updates, filter:{ key:0.0.1-admins }, limit:1, batchSize:1, singleBatch:true }

  2. Node.js dan Passport Object tidak memiliki metode yang validPassword

  3. Membuat profil database MongoDB untuk melihat kueri yang dieksekusi

  4. Tidak diizinkan untuk kueri di admin.system.namespaces di mongodb

  5. Bagaimana cara mengonversi Dokumen MongoDB secara langsung ke Jackson JsonNode di Java