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

MongoDBでフィールド名を変更する方法:$projectを使った手順を解説

MongoDBでフィールド名を変更するには?

MongoDBでは、集計パイプラインの $project ステージを使用することで、既存のフィールド名を別の名前に変更して出力することができます。ここでは、実際にコレクションを作成し、「Name」というフィールドを「FullName」に変更する手順を順番に見ていきましょう。

1. サンプルコレクションの作成

まずは、insertOne() メソッドを使ってドキュメントを含むコレクションを作成します。

> db.demo517.insertOne({"Name":"Chris Brown"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88a2a2987b6e0e9d18f595")
}
> db.demo517.insertOne({"Name":"David Miller"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88a2ab987b6e0e9d18f596")
}
> db.demo517.insertOne({"Name":"John Doe"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e88a2b1987b6e0e9d18f597")
}

2. 登録済みドキュメントの確認

次に、find() メソッドを使って、コレクション内のすべてのドキュメントを表示します。

> db.demo517.find();

このクエリを実行すると、次のような結果が得られます。

{ "_id" : ObjectId("5e88a2a2987b6e0e9d18f595"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e88a2ab987b6e0e9d18f596"), "Name" : "David Miller" }
{ "_id" : ObjectId("5e88a2b1987b6e0e9d18f597"), "Name" : "John Doe" }

3. $projectを使ってフィールド名を変更する

それでは、フィールド名を変更するためのクエリを見ていきます。aggregate() メソッド内で $project を使用し、新しいフィールド名「FullName」に元の「Name」フィールドの値を割り当てます。

> db.demo517.aggregate([{$project:{FullName:"$Name"}}]);

実行すると、以下のような出力が得られます。

{ "_id" : ObjectId("5e88a2a2987b6e0e9d18f595"), "FullName" : "Chris Brown" }
{ "_id" : ObjectId("5e88a2ab987b6e0e9d18f596"), "FullName" : "David Miller" }
{ "_id" : ObjectId("5e88a2b1987b6e0e9d18f597"), "FullName" : "John Doe" }

補足:$projectと$addFieldsの違い

$project を使用した場合、指定しなかったフィールドは出力から除外される点に注意が必要です。上記の例では「Name」以外にフィールドがないため問題ありませんが、他のフィールドも保持したい場合は明示的に指定するか、必要に応じて $unset$addFields(MongoDB 3.4以降)と組み合わせる方法も検討しましょう。

このように、$project ステージを活用すれば、MongoDBのコレクションから取得するドキュメントのフィールド名を柔軟に変更(リネーム)することができます。データの整形やAPIレスポンスの調整など、さまざまな場面で役立つテクニックなので、ぜひ覚えておきましょう。

  1. WordPressサイトのドメイン名を変更する4つの方法【初心者向け完全ガイド】

    WordPressサイトを運営していると、ドメイン名を変更したくなる場面があります。より良いドメイン名を見つけたときや、サイト構築時に仮のドメインを使っていた場合などがその例です。いずれの場合も、新しいドメインへの移行をスムーズに行うために、WordPress側の設定をいくつか変更する必要があります。なお、サイトを新しいサーバーへ移行したい場合は、ダウンタイムなしで移行するための専用ガイドを参考にしてください。事前準備:必要な情報をすべて揃えておくドメイン名を変更する前に、以下の情報にすぐアクセスできる状態にしておきましょう。WordPress管理者のログイン情報(ダッシュボードにログインする

  2. Windows 10/11で新規フォルダーの既定名を変更する方法【レジストリ活用】

    Windowsのフォルダーは、複数のファイルやフォルダーをまとめて保存しておくための便利な収納スペースです。家の中の収納ボックスのように、いろいろな物を放り込んでおけば、デスクトップやドキュメントの中身をすっきりと整理できます。 Windowsで新しいフォルダーを作成すると、既定では「新しいフォルダー」という名前が自動的に付けられます。それ自体は大きな問題ではありませんが、同じ名前のフォルダーを何個も作ると、どれに何が入っているのか分かりにくくなり、管理が煩雑になりがちです。 幸い、この既定のフォルダー名は簡単に変更できます。本記事では、Windowsレジストリを使って既定のフォルダー名を好き