我先用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)方法如果不存在資料庫就會創建一個,這種方法也真是有足奇葩的
不知道有什么問題,求這個大神幫忙
uj5u.com熱心網友回復:
請問樓主的問題解決了嗎?uj5u.com熱心網友回復:
我找到一個原因,framework 4.0不行,GetCollectionNames()取不到資料,換成framework 4.5就好了。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/73717.html
標籤:MongoDB
上一篇:mysql 報錯query builder does not support this syntax near "trigger"
