MongoDB 数据模型是构建在文档存储概念之上的,它允许灵活的数据结构,这对于处理复杂和动态的数据非常有用。

文档结构

在 MongoDB 中,数据是以文档的形式存储的。每个文档都是一个数据项,它由字段和值组成,类似于 JSON 对象。

  • 字段:文档中的每个属性都称为字段。
  • :字段的值可以是任何有效的 JSON 值。

示例

{
  "_id": ObjectId("507f191e810c19729de860ea"),
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "postalCode": "12345"
  },
  "hobbies": ["reading", "cycling", "hiking"]
}

关系

MongoDB 支持多种关系类型,包括一对一、一对多和多对多。你可以使用内嵌文档、引用和集合来表示这些关系。

内嵌文档

内嵌文档是直接存储在父文档中的文档。这适用于一对一的关系。

{
  "name": "John Doe",
  "profile": {
    "age": 30,
    "address": {
      "street": "123 Main St",
      "city": "Anytown",
      "postalCode": "12345"
    }
  }
}

引用

引用用于表示一对多的关系。你可以使用 _id 字段来引用另一个文档。

{
  "name": "John Doe",
  "age": 30,
  "address": ObjectId("507f191e810c19729de860eb")
}

集合

集合是 MongoDB 的最基本的数据结构,它包含多个文档。你可以使用集合来表示多对多的关系。

{
  "name": "John Doe",
  "age": 30,
  "hobbies": [
    ObjectId("507f191e810c19729de860ec"),
    ObjectId("507f191e810c19729de860ed")
  ]
}

扩展阅读

更多关于 MongoDB 数据模型的信息,您可以查看官方文档


图片展示:

(center) Data Modeling (endcenter)