MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでコレクション名を変更する方法【renameCollection()の使い方】

MongoDBでコレクション名を変更する方法

MongoDBで既存のコレクションの名前を変更したい場合は、renameCollection()メソッドを使用します。このメソッドを使えば、ドキュメントを移し替えることなく、コレクション名だけをその場で簡単に変更できます。

renameCollection()の基本構文

db.yourOldCollectionName.renameCollection("yourNewCollectionName");

「yourOldCollectionName」の部分に現在のコレクション名を、「yourNewCollectionName」の部分に新しいコレクション名を指定して実行します。

手順1:サンプルコレクションの作成

まず、ドキュメントを格納したコレクションを作成します。以下のクエリを順番に実行してください。

> db.savingInformationDemo.insertOne({"StudentName":"Larry"});
{
  "acknowledged" : true,
  "insertedId" : ObjectId("5c9cb44da629b87623db1b07")
}
> db.savingInformationDemo.insertOne({"StudentName":"John"});
{
  "acknowledged" : true,
  "insertedId" : ObjectId("5c9cb45da629b87623db1b08")
}
> db.savingInformationDemo.insertOne({"StudentName":"Mike"});
{
  "acknowledged" : true,
  "insertedId" : ObjectId("5c9cb461a629b87623db1b09")
}
> db.savingInformationDemo.insertOne({"StudentName":"Sam"});
{
  "acknowledged" : true,
  "insertedId" : ObjectId("5c9cb465a629b87623db1b0a")
}

これで、「savingInformationDemo」というコレクションに4件のドキュメントが登録されました。

手順2:登録済みドキュメントの確認

find()メソッドを使うと、コレクション内のすべてのドキュメントを表示できます。

> db.savingInformationDemo.find().pretty();

上記のクエリを実行すると、次のような出力が得られます。

{ "_id" : ObjectId("5c9cb44da629b87623db1b07"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5c9cb45da629b87623db1b08"), "StudentName" : "John" }
{ "_id" : ObjectId("5c9cb461a629b87623db1b09"), "StudentName" : "Mike" }
{ "_id" : ObjectId("5c9cb465a629b87623db1b0a"), "StudentName" : "Sam" }

手順3:コレクション名の変更

それでは、renameCollection()メソッドを使って、コレクション名を「savingInformationDemo」から「saveStudentInformation」に変更してみましょう。

> db.savingInformationDemo.renameCollection("saveStudentInformation");

名前の変更が正常に完了すると、次のような出力が返されます。

{ "ok" : 1 }

手順4:変更後のコレクションの確認

最後に、新しいコレクション名でもこれまでどおりドキュメントが参照できるかを確認します。

> db.saveStudentInformation.find();

実行結果:

{ "_id" : ObjectId("5c9cb44da629b87623db1b07"), "StudentName" : "Larry" }
{ "_id" : ObjectId("5c9cb45da629b87623db1b08"), "StudentName" : "John" }
{ "_id" : ObjectId("5c9cb461a629b87623db1b09"), "StudentName" : "Mike" }
{ "_id" : ObjectId("5c9cb465a629b87623db1b0a"), "StudentName" : "Sam" }

このように、コレクション名を変更してもドキュメントはそのまま保持されており、新しい名前で問題なくアクセスできることがわかります。

renameCollection()を使う際の注意点

  • renameCollection()は同じデータベース内でのみ使用できます。別のデータベースへコレクションを移動する用途には使えません。
  • 新しい名前と同じコレクションがすでに存在する場合、そのままではエラーになります。既存コレクションを上書きしたい場合は、第2引数に{ dropTarget: true }を指定してください。
  • シャーディングされたコレクションに対しては使用できないなど、環境によって制限がある点にも注意が必要です。

以上が、MongoDBでコレクション名を変更する手順です。renameCollection()を活用すれば、運用中のコレクションでも安全かつ簡単にリネームが行えます。

  1. MongoDBでコレクションの名前を変更する方法(renameCollectionの使い方)

    MongoDBで既存のコレクションの名前を変更したい場合、renameCollection()メソッドを使用します。この記事では、実際にコレクションを作成し、その名前を変更するまでの手順を順番に解説します。1. ドキュメントを含むコレクションを作成するまず、insertOne()メソッドを使ってサンプルドキュメントを挿入し、コレクション「demo690」を作成します。> db.demo690.insertOne({_id:101,Name:Sam}); { acknowledged : true, insertedId : 101 } > db.demo690.insertOne(

  2. MongoDBコレクションにインデックスを作成する方法

    MongoDBコレクションにインデックスを作成する方法MongoDBでインデックスを作成するには、createIndex()メソッドを使用します。インデックスを適切に設定することで、クエリの検索速度を大幅に向上させることができます。まず、ドキュメントを含むコレクションに対してインデックスを作成してみましょう。以下の例では、details.idフィールドに対して昇順(1)のインデックスを作成しています。> db.demo702.createIndex({details.id:1});{   createdCollectionAutomatically : tr