我需要连接到mongo并运行命令。 我正在使用以下代码进行连接。我想通过列出数据库来测试我正在连接的天气。
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017");
client.ListDatabases();
如果我调试并点击第二行,我看不到数据库的名称。如何打印数据库名称以确认我已连接到mongo。
答案 0 :(得分:0)
您需要在连接字符串中指定凭据。夫妻双方可以做到这一点:
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's documentation site
找到答案 1 :(得分:0)
尝试GetDatabaseNames()
方法,并将结果分配给变量。这样你就可以在断点处检查它,如
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017/");
var databaseNames = client.GetDatabaseNames();
答案 2 :(得分:0)
ListDatabases
会返回IAsyncCursor
,请尝试以下操作:
var client = new MongoClient(<CONNECTION STRING>);
var cursor = client.ListDatabases();
cursor.ForEachAsync(db => Console.WriteLine(((BsonString)db["name"]).Value));