1

既存のデータベースの名前を取得するときに問題があります。

<code>
        var connectionString = "mongodb://user:pw@localhost/admin";
        var client = new MongoClient(connectionString);
        var server = client.GetServer();
        var lst = server.GetDatabaseNames();
        lst.Dump(); -- this is in Linqpad
</code>

Linqpad レポート:

<code>
  Command 'listDatabases' failed: need to login (response: { "errmsg" : "need to      login", "ok" : 0.0 })            

接続文字列でデータベース名を省略すると、同じエラーが発生します。私のC#アプリケーションで使用すると、同じエラーが発生します。

そのリストを取得する方法を教えてください。

さて、それまでの間、ドキュメントを見て(以前に行うべきでした、申し訳ありません)、管理者の資格情報を提供するパラメーターでこの関数を使用する必要があることがわかりました。

わかった。しかし、エラーメッセージは紛らわしく、次のようなものでなければなりません: 管理者の資格情報を提供する必要があります........

4

1 に答える 1

0

あなたが試すことができます、

   const string legalConnectionString = "mongodb://localhost/?safe=true";
 var productionMongoDatabase = MongoServer.Create(legalConnectionString ).GetDatabase(productionDb, new MongoCredentials("admin", "1111111", true));
于 2013-05-16T07:36:03.063 に答える