$reverseArray (配列の順序を反転)

最終更新:2026-10-09

$reverseArray (配列の順序を反転)

$reverseArray は配列の要素の順序を反転して新しい配列を返します。時系列の昇順レコードを降順に反転したり、最新メッセージを先頭に持ってきたりするのに使います。反転されるのは外側の配列だけで、入れ子の配列は内部の順序を保ちます。配列以外の引数は MongoDB 5.0 より前はエラー、5.0 以降は null を返すため、型が不明なフィールドは $isArray でガードしてください。

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

📝 構文

{ $reverseArray: <array> }

⚙️ パラメータ

配列逆順にする配列式。

戻り値:逆順にした新しい配列。配列以外の引数はバージョンにより null または例外になります

▶ 例

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

// $reverseArray: 最新メッセージを先頭に
db.chats.aggregate([
  { $project: {
      latestFirst: { $reverseArray: '$messages' }
  } }
])

出力:

{ '_id': 1, 'latestFirst': [ 'm3', 'm2', 'm1' ] }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$reverseArray は元の配列を変更しますか?
Aいいえ — 集計式は純粋で、新しい配列を返します。
Q配列以外の引数では?
A5.0 より前はエラー、5.0 以降は null です。先に $isArray でチェックしてください。
Q入れ子の配列も反転されますか?
A外側の層だけが反転され、内側の配列は順序を保ちます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%