尝试从 MongoDB 检索数据时获取 "TimeoutException"
Getting "TimeoutException" when trying to retrieve data from MongoDB
我正在使用 C# 连接到 MongoDB 服务器,使用官方 MongoDB.Driver 版本 2.2.24.26
我的代码如下所示:
internal BsonArray Find(string ConnectionString, string collection, string filter)
{
Uri u = new Uri(ConnectionString);
string database = u.LocalPath.Trim(new char[] { '/' });
IMongoDatabase _db = new MongoClient(ConnectionString).GetDatabase(database);
IMongoCollection<BsonDocument> col = _db.GetCollection<BsonDocument>(collection);
return BsonArray.Create(col.Find(BsonDocument.Parse(filter)).ToList());
}
如果连接字符串像
,它就像魅力一样(它在不到 0.5 秒内完成)
mongodb://localhost:27017/my_db
一想使用认证,总是遇到超时
mongodb://user:password@localhost:27017/my_db
一直耗时的操作是"ToList()"。我测试中的列表确实有 136 个条目。我错过了什么吗?
编辑:抱歉,首先是错误的主题。我不知道一个完全不相关的问题怎么会出现在这里...
我发现了问题。如果凭据无效,MongoDB 似乎会返回 TimeoutException。我不小心将我想使用的用户添加到错误的数据库中,因此我无法使用它登录到原始数据库。这个例外让我在一个完全错误的方向上搜索这个问题:/
使用错误的凭据似乎是一种奇怪的行为,但这只是我的看法。
我正在使用 C# 连接到 MongoDB 服务器,使用官方 MongoDB.Driver 版本 2.2.24.26
我的代码如下所示:
internal BsonArray Find(string ConnectionString, string collection, string filter)
{
Uri u = new Uri(ConnectionString);
string database = u.LocalPath.Trim(new char[] { '/' });
IMongoDatabase _db = new MongoClient(ConnectionString).GetDatabase(database);
IMongoCollection<BsonDocument> col = _db.GetCollection<BsonDocument>(collection);
return BsonArray.Create(col.Find(BsonDocument.Parse(filter)).ToList());
}
如果连接字符串像
,它就像魅力一样(它在不到 0.5 秒内完成)mongodb://localhost:27017/my_db
一想使用认证,总是遇到超时
mongodb://user:password@localhost:27017/my_db
一直耗时的操作是"ToList()"。我测试中的列表确实有 136 个条目。我错过了什么吗?
编辑:抱歉,首先是错误的主题。我不知道一个完全不相关的问题怎么会出现在这里...
我发现了问题。如果凭据无效,MongoDB 似乎会返回 TimeoutException。我不小心将我想使用的用户添加到错误的数据库中,因此我无法使用它登录到原始数据库。这个例外让我在一个完全错误的方向上搜索这个问题:/
使用错误的凭据似乎是一种奇怪的行为,但这只是我的看法。