C# で接続文字列で指定した Mongo データベースを取得する方法
2023-08-06 02:22:43
質問
で再指定せずに、接続文字列で指定したデータベースに接続したいのですが。
GetDatabase
.
例えば、こんな接続文字列があったとします。
mongodb://localhost/mydb
をできるようにしたい。
db.GetCollection("mycollection")
から
mydb
.
これにより、app.configファイルでデータベース名を簡単に設定することができるようになります。
どのように解決するのですか?
更新しました。
MongoServer.Create
は廃止されました (@aknuds1 に感謝します)。代わりに以下のコードを使ってください。
var _server = new MongoClient(connectionString).GetServer();
簡単です。まず、接続文字列からデータベース名を取得し、次にデータベース名でデータベースを取得する必要があります。完全な例です。
var connectionString = "mongodb://localhost:27020/mydb";
//take database name from connection string
var _databaseName = MongoUrl.Create(connectionString).DatabaseName;
var _server = MongoServer.Create(connectionString);
//and then get database by database name:
_server.GetDatabase(_databaseName);
重要 : データベースと認証データベースが異なる場合、authSource=クエリパラメータを追加して、異なる認証データベースを指定することができます。(この件に関しては クリス・ドロビソン )
<ブロッククオート注:データベースセグメントを最初に使用するデータベースとして使用する場合。 しかし、指定されたユーザー名とパスワードは別のデータベースで定義されています。 を使用する場合、authSource オプションを使用して、クレデンシャルが定義されているデータベースを指定することができます。 データベースを指定します。たとえば は、userDb に対してクレデンシャルを認証します。 を指定すると、db1 ではなく userDb データベースに対して 認証を行います。
関連
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み] 'IEnumerable<SelectListItem>' 型の ViewData アイテムで、キーが国であるものは存在しない。
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] foreachループの現在の反復処理のインデックスを取得するにはどうすればよいですか?
-
[解決済み] コマンドラインからMongoDBデータベースを削除する方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。