$natural(物理存储顺序)

最后更新:2026-10-09

$natural(物理存储顺序)

$natural 按集合的物理存储顺序返回文档。`{ $natural: 1 }` 正序(近似插入顺序),`{ $natural: -1 }` 逆序。对固定大小集合(capped collection)特别有用,也常用于诊断调试。注意:$natural 与索引查询不能同时使用,因为它本身就表示不使用索引的扫描顺序。

分类投影
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $natural: <1 或 -1> }

⚙️ 参数

方向1 为正序,-1 为逆序。

返回值:按物理存储顺序排列的文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $natural:按插入顺序返回日志
// 固定大小集合中顺序即写入顺序
db.logs.find().sort({ $natural: -1 })

// 取正序前 10 条
db.logs.find().sort({ $natural: 1 }).limit(10)

运行结果:

// 返回日志文档,逆序(最新在前);第二个示例取正序前 10 条

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q$natural 是什么顺序?
A集合文件的物理存储顺序,通常近似插入顺序,但不保证稳定。
Q$natural 能走索引吗?
A不能,$natural 本身就是无索引的自然扫描。
Q什么时候用 $natural?
A固定大小集合的日志场景、调试排查时。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏