$natural (物理保存順序)

最終更新:2026-10-09

$natural (物理保存順序)

$natural は、コレクションの物理的な保存順でドキュメントを返します。`{ $natural: 1 }` が順方向、`{ $natural: -1 }` が逆方向です。capped collection や診断用途で特に便利です。$natural はインデックスを使うクエリとは組み合わせられません — 明示的にインデックスを使わない自然スキャンを要求するためです。

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

📝 構文

{ $natural: <1 or -1> }

⚙️ パラメータ

方向1 は昇順、-1 は降順。

戻り値:物理ストレージ順のドキュメント

▶ 例

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

// $natural: ログを保存順で取得
// capped collection では書き込み順になる
db.logs.find().sort({ $natural: -1 })

// 順方向で最初の 10 件
db.logs.find().sort({ $natural: 1 }).limit(10)

出力:

// ログを逆順(新しい順)で返す。2 つ目のクエリは順方向の最初の 10 件を取得する

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$natural はどの順序を使いますか?
Aコレクションの物理的な保存順です。通常は挿入順に近いですが、保証はありません。
Q$natural はインデックスを使えますか?
Aいいえ。設計上、インデックスを使わない自然スキャンです。
Q$natural はいつ使うべきですか?
Acapped collection のログ取得や診断用途で使います。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%