[解決済み】MongoDBデータベースの名前を変更する方法とは?
質問内容
MongoDBのデータベース名にタイプミスがあり、データベース名を変更したいと考えています。
できること コピー というように削除してください...
db.copyDatabase('old_name', 'new_name');
use old_name
db.dropDatabase();
データベースの名前を変更するコマンドはありますか?
解決方法を教えてください。
いいえ、そんなことはありません。参照 https://jira.mongodb.org/browse/SERVER-701
残念ながら、オリジナルの(デフォルトの)ストレージエンジンでデータベースのメタデータを保存する方法のため、これは私たちにとって簡単な機能ではありません。MMAPv1ファイルでは、すべてのコレクションとインデックスを記述する名前空間(例:dbName.collection)にデータベース名が含まれているため、一連のデータベースファイルの名前を変更するには、すべての名前空間文字列を書き換える必要があります。これは、次のような影響があります。
- .nsファイル
- コレクションに含まれるすべての番号付きファイル
- 各インデックスの名前空間
- 各コレクションとインデックスの内部一意名
- system.namespacesとsystem.indexの内容(または将来的には同等の内容)。
- その他、私が見逃している可能性のある場所
これは、単一のデータベースのリネームを達成するだけで、そのデータベースを スタンドアロン mongodインスタンスです。レプリカセットの場合、上記を全てのレプリカノードで行う必要があり、さらに各ノードでこのデータベースを参照している全ての oplog エントリを何らかの方法で無効化または書き換える必要があります。また、DB がシャーディングされたクラスタの場合、これらの変更を全てのシャードに追加する必要があり、さらに Config Server には名前空間に関する全てのシャードメタデータとそのフルネームが含まれています。
本番のシステムでこれをやるのは絶対に無理でしょう。
オフラインで行うには、新しい名前に対応するためにデータベースファイルをひとつひとつ書き直す必要があり、その時点で現在の "copydb" コマンドと同じくらい遅くなるでしょう......。
関連
-
[解決済み] MongoDBでフィールドが存在することを確認する
-
[解決済み] Mongorestore はファイル "db/collection.bson" をどうしたらいいかわからないため、スキップします。
-
[解決済み] mongodb シェルでドキュメントの値を印刷する
-
[解決済み] mongoimport : 'error validating settings: positional argument is only one allowed' (設定の検証エラー:位置引数は1つしか許可されません。
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] コマンドラインからMongoDBデータベースを削除する方法を教えてください。
-
[解決済み] MongoDBのリレーションシップ:埋め込みか参照か?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 複合リテラルのキー無しフィールドの使用
-
[解決済み] mongodb シェルでドキュメントの値を印刷する
-
[解決済み] MongoDB Compass: select distinct フィールド値
-
[解決済み] MongoDBのデフォルトのユーザーとパスワードは何ですか?
-
[解決済み] mongoimport : 'error validating settings: positional argument is only one allowed' (設定の検証エラー:位置引数は1つしか許可されません。
-
[解決済み] mongod.serviceの再起動に失敗しました。ユニット mongod.service が見つかりませんでした
-
[解決済み] mongodb サーバーに接続しようとすると、mongo コマンドが認識されません。
-
問題が発生しました -----mongodb-------Uncaught TypeError: 未定義のプロパティ 'value' を読み取れませんでした。
-
問題 - mongodb - ストリームの終了に早く到達する
-
[解決済み】ドキュメントの配列内のオブジェクトを更新する方法(入れ子更新)について)