如何在 mongo C# 驱动程序中仅使用连接字符串来“列出集合”?

How to `ListCollections` by using only connection string in mongo C# driver?

我正在使用包含数据库的完整连接字符串实例化 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

问题:

连接字符串中已经提到的数据库的 ListCollections 是否有任何选项?

一种选择是从连接字符串中提取数据库名称。这听起来可能有点乱,但是 MongoUrl 让它变得简单易行。这是一个例子:

var connectionString = "...";
var dbName = MongoUrl.Create(connectionString).DatabaseName;

// ...

IMongoDatabase db = dbClient.GetDatabase(dbName);