C# API GetCollectionNames()不能获取数据

李贵发 2016-04-03 05:49:54
我先用shell创建了一个数据库ttt,之后我创建了一个集合,并且我insert了数据,我确定集合创建成功,如下图

之后我使用 database.GetCollectionNames())获取不到集合 代码大致如下:
public void Connect(string address, string port, string username, string password)
{
string strconn = String.Format("mongodb://{0}:{1}", address, port);
this.mServer = MongoServer.Create(strconn);
}
这是连接方法,这里我确定连接成功
public MongoDBTree GetMongoDBTree()
{
List<string> dbs = this.mServer.GetDatabaseNames().ToList();
return this.BuildTree(dbs);
}
获取数据库名称
private MongoDBTree BuildTree(List<string> dbs)
{
MongoDBTree tree = new MongoDBTree();
tree.Name = mServer.Instance.Address.ToString();
tree.NodeType = MongoDBTreeNodeType.Server;
tree.Children = new List<MongoDBTree>();
foreach (string db in dbs)
{
MongoDBTree dbTree = new MongoDBTree();
dbTree.Name = db;
dbTree.NodeType = MongoDBTreeNodeType.Docmenu;
dbTree.Children = new List<MongoDBTree>();
MongoDatabase database = this.mServer.GetDatabase(db);
foreach (string item in database.GetCollectionNames())
{
MongoDBTree itemTree = new MongoDBTree();
itemTree.Name = item;
itemTree.NodeType = MongoDBTreeNodeType.Docmenu;
dbTree.Children.Add(itemTree);
}
tree.Children.Add(dbTree);
}
return tree;
}
主要是这个foreach (string item in database.GetCollectionNames())
API是2.2.0 MongoDB是3.2.4 .Net4.5
API中GetDatabase(db)方法如果不存在数据库就会创建一个,这种方法也真是有足奇葩的
不知道有什么问题,求这个大神帮忙
...全文
920 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33303412 2019-01-23
  • 打赏
  • 举报
回复
我找到一个原因,framework 4.0不行,GetCollectionNames()取不到数据,换成framework 4.5就好了。
kasen99 2017-10-03
  • 打赏
  • 举报
回复
请问楼主的问题解决了吗?

1,747

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧