从C#和列表数据库连接到查询路由器(mongos)
本文关键字:路由器 mongos 查询 列表 数据库连接 | 更新日期: 2023-09-27 17:59:01
我需要连接到mongo并运行命令。我正在使用以下代码进行连接。我想通过列出数据库来测试我正在连接的天气。
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017");
client.ListDatabases();
如果我调试并单击第二行,我将看不到数据库的名称。我如何将数据库的名称打印到屏幕上以确认我已连接到mongo。
您需要在连接字符串中指定凭据。有几种方法可以做到这一点:
var connectionString = "mongodb://user1:password1@127.0.0.1:27017";
是预期的格式,您必须自己提供用户名和密码,这些只是占位符。
或者,您可以创建一个MongoCredentials
对象,并使用它来代替连接字符串(这样可能会更干净一些,如果您深入查看对象文档,可以进行更多配置(
var credential = MongoCredential.CreateMongoCRCredential("test", "user1", "password1");
var settings = new MongoClientSettings
{
Credentials = new[] { credential }
};
var mongoClient = new MongoClient(settings);
这两个例子都可以在MongoDB的文档网站
尝试GetDatabaseNames()
方法,并将结果分配给变量。这样你就可以像一样在断点处检查它
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017/");
var databaseNames = client.GetDatabaseNames();
ListDatabases
返回IAsyncCursor
,请尝试以下操作:
var client = new MongoClient(<CONNECTION STRING>);
var cursor = client.ListDatabases();
cursor.ForEachAsync(db => Console.WriteLine(((BsonString)db["name"]).Value));