MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Không thể kết nối với MongoDb (sử dụng xác thực) bằng mongocsharpdriver 2.7.0

Theo liên kết này Trang web Mongo và xem Phần

Vấn đề là bạn đang xác thực người dùng mongoadmin cho clientdb. Nhưng người dùng mongoadmin được xác thực thành admin db. Xác thực người dùng mongoadmin và sau đó bạn có thể truy cập clientdb.

Dưới đây là mẫu sử dụng phương pháp 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");
        } 

Và theo mã của bạn, bên dưới sẽ hoạt động:

Tệp cấu hình của bạn sẽ giống như sau:

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

Và mã 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"]);
        }
    }

Như bạn có thể thấy, người dùng mongoadmin sẽ được xác thực với admin db trước. Sau đó, bạn có thể kết nối với clientdb



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. lỗi mongodb khó hiểu LEFT_SUBFIELD chỉ hỗ trợ Object:stats not:6

  2. Làm cách nào tôi có thể sử dụng mongodump để kết xuất các bản ghi phù hợp với một phạm vi ngày cụ thể?

  3. Cách đặt thời gian chờ kết nối MongoClient?

  4. Phân tích cú pháp di chuyển sang heroku / aws liên quan đến hình ảnh

  5. Cập nhật nhiều tài liệu trong mongoDB với các giá trị khác nhau