2014-04-08 18 views
5

Tôi đang sử dụng phiên bản mới nhất của trình điều khiển và cơ sở dữ liệu MongoDB 2.6 và tôi đã sử dụng để tạo người dùng sử dụng đoạn mã sau:Làm thế nào để tạo một người dùng trong MongoDB

 MongoUser _user1 = new MongoUser("username", "password", false); 

     MongoDatabase.AddUser(_user1); 

và bây giờ nó đang nói MongoDatabase.AddUser() bị phản đối bằng cách hiển thị các thông tin sau:

... là lỗi thời: sử dụng lệnh quản lý người dùng mới 'CreateUser' hoặc 'updateUser "

.

Lệnh quản lý người dùng mới này ở đâu? Làm cách nào để tạo người dùng bằng trình điều khiển MongoDB C# mới?

Trả lời

0

tôi đã tìm kiếm cho 'CreateUser' trên mã mới nhất trên kho GitHub: https://github.com/mongodb/mongo-csharp-driver/search?q=createUser&ref=cmdform

Tại thời điểm viết bài, tham chiếu chỉ để 'CreateUser' is here

Phương pháp này đã được đánh dấu như đã lỗi thời tuy nhiên in this commit

Tuy nhiên; về kiểm tra chặt chẽ hơn của mã này, tôi see this:

if (_server.RequestConnection.ServerInstance.Supports(FeatureId.UserManagementCommands)) 
    { 
     AddUserWithUserManagementCommands(user); 
    } 
    else 
    { 
     AddUserWithInsert(user); 
    } 

Vì vậy, nó được gọi là phương pháp cần thiết dưới mui xe

2

Tôi đang sử dụng MongoDB 2.6.2 và mới nhất C# điều khiển 1.9.2. Đây là cách bạn có thể thêm người dùng mới với 'CreateUser':

public static void AddUser(string user, string password, string[] roles) 
{ 
    var database = GetDatabase(); 
    var command = new CommandDocument { { "createUser", user}, { "pwd", password }, { "roles", new BsonArray(roles) } }; 
    var result = database.RunCommand(command); 
} 
4

Đối với những người quan tâm trong việc tạo ra một người dùng với trình điều khiển C# v2.0.1 và v3.0.6 MongoDB sử dụng như sau:

var client = new MongoClient(connectionString); 
var database = client.GetDatabase("database_to_create_user_in"); 
var user = new BsonDocument { { "createUser", "fred" }, { "pwd", "some_secure_password" }, { "roles", new BsonArray { new BsonDocument { { "role", "read" }, { "db", "database_to_create_user_in" } } } } }; 
await database.RunCommandAsync<BsonDocument>(user); 
Các vấn đề liên quan