MongoDBでコレクション名を変更する方法|renameCollection()メソッドの使い方を解説
MongoDBで既存のコレクションの名前を変更したい場合は、renameCollection()メソッドを使用します。ドキュメントやインデックスをそのまま維持したまま、コレクション名だけを簡単に変更できる便利なメソッドです。
renameCollection()の基本構文
コレクション名を変更するための基本構文は以下のとおりです。
db.旧コレクション名.renameCollection('新コレクション名');
実行例:sampleデータベースで試してみる
それでは、実際に「sample」データベースのコレクション名を変更してみましょう。まず、対象のデータベースに切り替え、現在存在するコレクションの一覧を確認します。
> use sample; switched to db sample > show collections;
上記コマンドを実行すると、以下のようにコレクションの一覧が表示されます。
copyThisCollectionToSampleDatabaseDemo deleteDocuments deleteDocumentsDemo employee informationAboutDelete internalArraySizeDemo prettyDemo selectWhereInDemo sourceCollection updateInformation userInformation
コレクション名を変更する
ここでは、「informationAboutDelete」というコレクションの名前を「deleteSomeInformation」に変更します。次のクエリを実行してください。
> db.informationAboutDelete.renameCollection('deleteSomeInformation');
{ "ok" : 1 }
実行結果として{ "ok" : 1 }が返されれば、名前の変更は正常に完了しています。
変更後のコレクション一覧を確認する
最後に、show collectionsを再実行して、コレクション名が正しく変更されたかどうかを確認しましょう。
> show collections;
出力結果は以下のとおりです。「informationAboutDelete」が一覧から消え、代わりに「deleteSomeInformation」が表示されていることがわかります。
copyThisCollectionToSampleDatabaseDemo deleteDocuments deleteDocumentsDemo deleteSomeInformation employee internalArraySizeDemo prettyDemo selectWhereInDemo sourceCollection updateInformation userInformation
renameCollection()を使う際の注意点
- 変更先のコレクション名がすでに存在する場合、そのままではエラーになります。第2引数に
trueを指定すると、既存のコレクションを削除してからリネームできます(例:db.oldColl.renameCollection('newColl', true))。 - このメソッドによるリネームは、基本的に同じデータベース内でのみ有効です。別のデータベースへ移動させたい場合は、
db.adminCommand()でrenameCollectionコマンドを実行します。 - 名前を変更しても、ドキュメントデータやインデックスはそのまま引き継がれるため、データの再投入は不要です。
-
MongoDBでドキュメントのフィールドにアクセスする方法|find()とプロジェクションの使い方
MongoDBでドキュメント内のフィールドにアクセスするには、find()メソッドを使用します。この記事では、実際にコレクションを作成し、ドキュメントを挿入したうえで、特定のフィールドだけを取得する方法をサンプルコード付きで解説します。 コレクションの作成とドキュメントの挿入 まず、サンプル用のコレクション「demo565」を作成し、3件のドキュメントを挿入します。insertOne()メソッドを使って、1件ずつ登録していきましょう。 > db.demo565.insertOne( ... { ... id:101, ... Name:David, ... Countr
-
MongoDBでコレクションの名前を変更する方法(renameCollectionの使い方)
MongoDBで既存のコレクションの名前を変更したい場合、renameCollection()メソッドを使用します。この記事では、実際にコレクションを作成し、その名前を変更するまでの手順を順番に解説します。1. ドキュメントを含むコレクションを作成するまず、insertOne()メソッドを使ってサンプルドキュメントを挿入し、コレクション「demo690」を作成します。> db.demo690.insertOne({_id:101,Name:Sam}); { acknowledged : true, insertedId : 101 } > db.demo690.insertOne(