2017-01-25 3 views
0

この記事では、新しいMongo C#ドライバを使用してデータベースをコピーする方法について説明しています。認証が有効な場合にC#ドライバを使用してMongoDbデータベースをコピーする方法

私は認証に問題があることをしました、私はすべてがOKであるRoboMongoからcopydatabaseを発行し、今ならば、MongoDBの中にセットアップの認可をしましたが、私はC#のドライバーからのコマンドを実行しようとした場合、私は

MongoDB.Driver.MongoCommandException: 'Command copydb failed: 
listCollections failed: { ok: 0.0, errmsg: "not authorized on xxxxx 
to execute command { listCollections: 1, filter: {}, cursor: {} }", 
code: 13 }.' 
を取得します

Copy databaseコマンドがRoboMongoの同じユーザーで動作するのはなぜですか?C#コードで実行された場合、認証で失敗します。

答えて

0

実際に私はその理由を見つけました。それは非常に奇妙です。コマンドからfromDbパラメータを削除するだけです。

var command = String.Format(@"{{ copydb: 1, fromdb: '{0}', todb: '{1}'}}", sourceUrl.DatabaseName, destinationUrl.DatabaseName); 

私は上記のコマンドを使用しました。ここでは、fromDbとtoDbのみを指定していましたが、すべて正常でした。たぶん、fromDb: 'localhost'は何らかの理由で認証がうんざりになりました。

ジャンマリア。

関連する問題