嵌套文档与数组的查询
MongoDB 支持存储复杂的嵌套文档和数组类型,查询时需要使用点(.)符号和数组操作符来访问内部字段。
查询嵌套文档
通过点符号访问嵌套字段。例如,查询地址中城市为“北京”的文档:
db.users.find({ "address.city": "北京" })
`
其中 address 是嵌套文档,city 是其字段。
查询数组元素
- 查询数组包含指定值的文档
查询 tags 数组中包含 "mongodb" 的文档:
db.articles.find({ tags: "mongodb" })
- 查询数组中满足条件的元素
查询数组 scores 中有大于 90 的元素的文档:
db.students.find({ scores: { $gt: 90 } })
- 使用
$elemMatch查询多个条件
查询数组中有元素同时满足多个条件:
db.students.find({
scores: { $elemMatch: { $gt: 80, $lt: 90 } }
})
- 查询数组长度
查询数组长度等于 3 的文档:
db.students.find({ scores: { $size: 3 } })
掌握嵌套文档和数组的查询方法,可以有效处理复杂数据结构,满足多样化的业务需求。
相关内容
- 什么是 MongoDB? MongoDB 是一种基于文档的 NoSQL 数据库,使用 BSON 格式存储数据,具有灵活的架构设计,适合海量数据、高并发应用,支持丰富查询与水平扩展。
- MongoDB 与关系型数据库的区别 MongoDB 与关系型数据库在数据模型、扩展性、灵活性和查询方式上存在显著差异,分别适用于不同类型的应用场景和业务需求。
- 使用场景与优势 MongoDB 以其灵活的数据模型、高性能和强大的扩展能力,广泛应用于现代互联网、移动应用、大数据分析等多种场景,具有显著优势。
- 安装 MongoDB(Windows / macOS / Linux / Docker) 本章节详细介绍在 Windows、macOS、Linux 和 Docker 环境下安装 MongoDB 的具体步骤,帮助用户快速搭建数据库环境。
- 使用 MongoDB Compass 和 MongoDB Shell 本章节介绍如何使用 MongoDB 官方的图形化管理工具 Compass 和命令行工具 MongoDB Shell,帮助用户高效管理和操作数据库。
- 数据库与集合的概念 本章节介绍 MongoDB 中数据库和集合的基本概念,帮助理解其数据组织结构及管理方式。