[英]find().tolistasync() timeout (System.TimeoutException:) in mongodb
我正在尝试连接到CentOS上的虚拟机中的mongodb(已配置selinux和防火墙)。 我创建了一个名为test的数据库,其中包含一个名为test的集合以及其中的一个视图文档。 我使用C#和最新发布的驱动程序2.0.0来连接数据库。 代码看起来像这样:
using System;
using System.Dynamic;
using System.Collections.Generic;
using MongoDB.Driver;
using MongoDB.Bson;
namespace mongotest
{
class MainClass
{
public static void Main (string[] args)
{
MongoClientSettings settings = new MongoClientSettings ();
settings.Server = new MongoServerAddress ("mongotest", 21017);
MongoClient client = new MongoClient (settings);
System.Threading.Tasks.Task<List<BsonDocument>> datasetsTask = client.GetDatabase ("test").GetCollection<BsonDocument> ("test").Find (x => true).ToListAsync();
foreach (BsonDocument dataset in datasetsTask.Result) {
try {
Console.WriteLine(dataset["_id"]);
try{
Console.WriteLine("\t" + dataset["test"]);
} catch(Exception e) {}
try{
Console.WriteLine("\t" + dataset["name"]);
} catch(Exception e) {}
} catch(Exception e) {Console.WriteLine ("Error: no property called _id");}
}
}
}
}
我用robomongo签出了数据库。 测试数据库和测试集合在那里。 在我尝试获得结果的行中(在foreach循环的开头),执行暂停30秒,然后抛出System.TimeoutException(我不得不将其发布到pastebin中,因为它太长了): http:// /pastebin.com/pp0kfgaH
我认为第58行是真正的错误。 但是我不知道这个服务器地址。
看起来好像是连接有问题。
尝试像Github页面上的“入门”示例一样建立连接:
https://github.com/mongodb/mongo-csharp-driver
另外,请记住将“ mongodb://”添加到您的连接字符串中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.