1

我已经通过 Azure Cloud 上的 MongoLab 插件创建了 Mongodb 数据库。我已经能够连接到数据库,但我总是遇到异常;

命令“计数”失败:数据库断言失败(响应:{“断言”:“未经授权的 db:YourDefinition ns:YourDefinition.Terms 锁定类型:1 客户端:94.245.107.14”,“assertionCode”:10057,“errmsg”:“db断言失败", "ok" : 0.0 })

我怎样才能摆脱这个问题?

更新 :

这是我的连接字符串

“mongodb://YourDefinitionDB:hQIkxfNlgF8rp6o6zb4KDVe_t8RILePrBLPieIvWS1M-@ds045087.mongolab.com:45087/YourDefinitionDB”

我使用了错误的数据库名称,但仍然出现以下异常。

命令'authenticate'失败:auth失败(响应:{“errmsg”:“auth失败”,“ok”:0.0})

我可以说它适用于外部 gui,但不能通过 .net 驱动程序。

4

3 回答 3

3

本指南可以帮助您启动和运行:https ://www.windowsazure.com/en-us/develop/net/tutorials/website-with-mongodb-mongolab/

特别是这些代码片段:

private string connectionString = System.Environment.GetEnvironmentVariable("CUSTOMCONNSTR_MONGOLAB_URI");
private string dbName = "myMongoApp";

MongoServer server = MongoServer.Create(connectionString);
MongoDatabase database = server[dbName];

您只需要将"CUSTOMCONNSTR_MONGOLAB_URI"环境变量设置为您的 MongoLab URI。例如:

mongodb://<dbuser>:<dbpassword>@<host_name>.mongolab.com:<port>/<db_name>

编辑:刚刚注意到您的更新包含连接字符串。看起来你在它的末尾错过了 db 部分。请参阅上面的示例连接字符串。

于 2013-05-24T17:36:28.407 回答
0

“mongodb:// YourDefinitionDB :hQIkxfNlgF8rp6o6zb4KDVe_t8RILePrBLPieIvWS1M-@ds045087.mongolab.com:45087/ YourDefinitionDB

您的连接字符串(假设它反映了您的真实连接字符串的外观)两次显示数据库名称。格式应为:

mongodb://username:password@server.mongolab.com:port/database

于 2013-05-25T00:30:21.437 回答
0

初始化连接时,您需要为数据库提供凭据。登录到 mongolab 或通过 azure 找到它们(不确定它们是如何设置的)并在尝试对数据库进行操作之前提供它们。

于 2013-05-24T17:17:12.763 回答