例子
假设我们有一个名为 “users” 的集合,其中包含了一个嵌套的地址字段
{
"_id": ObjectId("5a983d844f758fc0e8f3c3e0"),
"name": "John",
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"zip": "12345"
}
}
要查询地址字段中的城市字段,可以使用点号(.)访问嵌套字段,如下所示
db.users.find({"address.city": "Anytown"})
这个查询会从集合 “users” 中查询地址字段中城市为 “Anytown” 的文档,返回一个结果集。在结果集中,只有包含匹配条件的文档会被返回。
注意:如果嵌套字段名中包含点号(.)或者美元符号($),可以使用引号将字段名括起来
db.users.find({"address.\"city.name\"": "Anytown"})
这个查询会从集合 “users” 中查询地址字段中 “city.name” 为 “Anytown” 的文档。