我正在尝试以编程方式创建一个新数据库,每个客户端一个数据库。
并使用这个:
public void CreateNewClientDatabase(Client client)
{
var connectionString = Util.GetClientDatabaseConnectionString(client.DatabaseName);
var mongoClient = new MongoDB.Driver.MongoClient(connectionString);
var server = mongoClient.GetServer();
var db = server.GetDatabase(client.DatabaseName);
db.CreateCollection("DatabaseCreated");
}
我在 CreateCollection
上遇到的错误是我没有正确的凭据,即使在连接字符串中,我的凭据是正确的。
异常
内容如下:
Invalid credentials for database 'client_database_name'.
和 InnerException
为:
{"Command 'authenticate' failed: auth fails (response: { \"errmsg\" : \"auth fails\", \"ok\" : 0.0 })"}
connectionString
最终是这样的:
mongodb://admin_user:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e8898c858186b7989f8ca88481869d9bc68587868f878099c68b8785" rel="noreferrer noopener nofollow">[email protected]</a>:10042/client_database_name
我缺少什么?
P.S. 使用 version 1.7 of MongoDB Driver
最佳答案
Bruno ...要在 MongoHQ 这样的共享服务上执行此操作,您将需要使用他们的 API 以编程方式创建新数据库。 API 文档位于:http://support.mongohq.com .
关于c# - 如何以编程方式创建新的 Mongo 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14421652/