主题
嵌套文档与数组的查询
MongoDB 支持存储复杂的嵌套文档和数组类型,查询时需要使用点(.
)符号和数组操作符来访问内部字段。
查询嵌套文档
通过点符号访问嵌套字段。例如,查询地址中城市为“北京”的文档:
js
db.users.find({ "address.city": "北京" })
其中 address
是嵌套文档,city
是其字段。
查询数组元素
- 查询数组包含指定值的文档
查询 tags
数组中包含 "mongodb"
的文档:
js
db.articles.find({ tags: "mongodb" })
- 查询数组中满足条件的元素
查询数组 scores
中有大于 90 的元素的文档:
js
db.students.find({ scores: { $gt: 90 } })
- 使用
$elemMatch
查询多个条件
查询数组中有元素同时满足多个条件:
js
db.students.find({
scores: { $elemMatch: { $gt: 80, $lt: 90 } }
})
- 查询数组长度
查询数组长度等于 3 的文档:
js
db.students.find({ scores: { $size: 3 } })
掌握嵌套文档和数组的查询方法,可以有效处理复杂数据结构,满足多样化的业务需求。