繁体   English   中英

尝试从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。 我不小心将我想要使用的用户添加到错误的数据库中,因此我无法使用它登录原始数据库。 这个例外让我在一个完全错误的方向上搜寻这个问题:/

使用错误的凭据时看起来像一个奇怪的行为,但这只是我的意见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM