mongodb 中查询嵌入或多级文档
本文总结了如何在 mongoDB 中查询嵌入或多级文档(Embedded/Nested Document)。
集合数据
假设有如下文档,集合名称为 inventory
1 | db.collection('inventory').insertMany([ |
匹配整个子文档
使用 query
filter document { <field>: <value> }
来匹配子文档。
例:
1 | // 查询 |
注意:
查询不支持多级嵌套匹配。size 只有整个对象完全匹配时,才返回。下面的查询的结果为空:
1 | db.inventory.find({ |
匹配嵌套字段
使用 dot
notation field.nestedField
来进行嵌套匹配查询。
1 | db.inventory.find({ |
使用查询操作符匹配
在使用 query filter document
时,可以使用 query
operators 来进行更复杂的查询。
格式:
1 | { <field1>: { <operator1>: <value1> }, ... } |
查询示例:
1 | db.inventory.find({ |
其它
本文中提供的示例代码运行平台为 Navicat。在 nodejs 中也同样适用。