Object (Document)(内嵌文档)

最后更新:2026-10-09

Object (Document)(内嵌文档)

Object指文档内的嵌套子文档,MongoDB支持任意层级嵌套,形成自描述数据模型。嵌套字段用点号路径访问,查询中需用引号包裹点号字段名,如`'profile.address.city'`。适合一对一关系(用户资料、订单地址);独立增长或单独查询的数据建议拆集合。

分类BSON 类型
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ profile: { name: "alice", address: { city: "beijing" } } }
db.users.find({ "profile.address.city": "beijing" })

返回值:嵌套文档本身;查询时返回匹配文档

▶ 示例

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

// Object:嵌套文档的写入与查询
use shop
db.users.insertOne({ profile: { name: 'alice', address: { city: 'beijing' } } })
db.users.find({ 'profile.address.city': 'beijing' })

运行结果:

{ _id: ObjectId('...'), profile: { name: 'alice', address: { city: 'beijing' } } }

📌 注意事项

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

📚 相关教程

❓ 常见问题

Q内嵌文档能嵌多深?
A官方限制约100层嵌套深度,实际受16MB文档大小约束,远达不到。
Q内嵌还是独立集合?
A一对一、总是随主文档一起读的用内嵌;独立增长、单独查询的拆集合。
Q嵌套字段怎么查询?
A用点号加引号:{ 'profile.address.city': 'beijing' }。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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