$arrayToObject (ペア配列をオブジェクトに変換)

最終更新:2026-10-09

$arrayToObject (ペア配列をオブジェクトに変換)

$arrayToObject はキーと値のペアの配列をドキュメントに戻します。$objectToArray の逆変換です。入力は { k, v } オブジェクトの配列か、[ 'フィールド名', value ] の 2 要素配列の配列の 2 つの形を受け付けます。代表的な用途は、$objectToArray で処理した後の動的フィールドの再組み立てや、グループ統計を 1 つのオブジェクトにまとめることです。キーは文字列でなければならず、重複キーは後ろの値で上書きされます。

カテゴリ配列
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $arrayToObject: <array> }

⚙️ パラメータ

配列{ k, v } オブジェクト、または2要素配列 [ 'fieldName', value ] の配列。

戻り値:結果のドキュメント。空の配列、または null を含む配列の場合は null

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $arrayToObject: k/v 配列をオブジェクトに戻す
db.users.aggregate([
  { $project: {
      scoreObj: { $arrayToObject: '$scorePairs' }
  } }
])

出力:

{ '_id': 1, 'scoreObj': { 'math': 90, 'eng': 85 } }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q2 つの入力形式は?
A{ k, v } オブジェクトの配列か、[ 'フィールド名', value ] ペアの配列です。
Qk が文字列でない場合は?
Aエラーになります — キーは文字列である必要があります。
Q重複キーはどう扱われますか?
A後ろの値が先の値を上書きします。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%