假设我们有一个名为 "users" 的 MongoDB 集合,其中包含以下文档:
{
"_id": ObjectId("60ebca6c4d0f8469674e0ff4"),
"name": "Alice",
"age": 25,
"address": {
"city": "New York",
"state": "NY",
"zip": "10001"
},
"hobbies": ["reading", "traveling", "photography"]
}
现在,我们想通过地址中的城市和州来查找用户。为此,我们可以使用 MongoDB 的 find 方法和嵌套查询:
db.users.find({ "address.city": "New York", "address.state": "NY" })
该查询将返回所有居住在 New York, NY 的用户。注意,我们使用点号来引用嵌套字段。
我们还可以使用 $in 操作符来查找多个城市的用户:
db.users.find({ "address.city": { "$in": ["New York", "San Francisco"] } })
这个查询将返回所有居住在 New York 或 San Francisco 的用户。
最后,我们可以通过查询嵌套数组来查找特定爱好的用户:
db.users.find({ "hobbies": "reading" })
这将返回所有爱好阅读的用户。注意,数组字段不需要使用点号引用。