sort() (結果の並べ替え)

最終更新:2026-10-09

sort() (結果の並べ替え)

sort() は指定したフィールドでカーソルの結果を並べ替えます: `db.users.find().sort({ age: 1, name: -1 })`。値の 1 は昇順、-1 は降順で、フィールドごとに適用されます。並べ替えはサーバー側で実行され、インデックスに支えられた場合が最速です。インデックス外の並べ替えはメモリ内で行われ、100MB の上限に達することがあります。

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

📝 構文

db.<collection>.find(<filter>).sort(<sortKey>)

⚙️ パラメータ

ソートキーフィールドと方向のマッピング(例: {age: 1, name: -1})。

戻り値:ソートキーで並べ替えたカーソル(チェーン可能)。

▶ 例

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

// sort: 年齢昇順、名前降順で3件取得する
const result = db.users.find()
  .sort({ age: 1, name: -1 })
  .limit(3)
  .toArray()
result

出力:

[
  { _id: ObjectId('64c8a1b20000000000000001'), name: 'Alice', age: 21 },
  { _id: ObjectId('64c8a1b20000000000000002'), name: 'Bob', age: 25 }
]

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Qsort の 1 と -1 は何を意味しますか?
A1 は昇順、-1 は降順です。{age: -1} は古い順に並べます。
Q複数フィールドで並べ替えるには?
Aソートキーに複数のフィールドを渡します。例: {age: 1, name: -1}。年齢が先、次に名前。
Q並べ替えが遅い場合は?
Aソートフィールドに複合インデックスを追加します。インデックス外のソートはメモリを使い、巨大な結果には allowDiskUse() が役立ちます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%