mongodb多层嵌套查询如何实现

2024-04-11

MongoDB中,多层嵌套查询可以通过使用“点符号”来访问嵌套的字段。下面是一个示例,用于说明如何实现多层嵌套查询:

假设我们有一个包含以下结构的文档:

{
  "_id": 1,
  "name": "John",
  "age": 30,
  "address": {
    "city": "New York",
    "street": "123 Main St"
  },
  "contacts": [
    {
      "type": "email",
      "value": "john@example.com"
    },
    {
      "type": "phone",
      "value": "555-1234"
    }
  ]
}

如果我们想要查询John的email地址,可以使用以下查询语句:

db.collection.find({"name": "John", "contacts.type": "email"})

这条查询语句会查找name为“John”,并且contacts数组中type为“email”的文档。然后我们可以通过“点符号”来访问contacts数组中的value字段,从而获取John的email地址。

希望这个示例可以帮助你理解如何在MongoDB中实现多层嵌套查询。