我正在使用包含DB的完整连接字符串实例化MongoClient
:
MongoClient dbClient = new MongoClient("mongodb://***:***@***:27017/myDb");
var dbList = dbClient.ListDatabases();
IMongoDatabase db = dbClient.GetDatabase("myDb");
var collList = db.ListCollections().ToList();
...
这有效。但是-
如果连接字符串已经包含myDb
,那么为什么我需要再次写:
dbClient.GetDatabase("myDb");
?
我已经在连接字符串中写了myDb
。
问题:
连接字符串中已经提到的DB ListCollections
是否有任何选择?
答案 0 :(得分:1)
一种选择是仅从连接字符串中提取数据库名称。这听起来可能有点混乱,但是MongoUrl
使它变得简单易用。这是一个示例:
var connectionString = "...";
var dbName = MongoUrl.Create(connectionString).DatabaseName;
// ...
IMongoDatabase db = dbClient.GetDatabase(dbName);