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)
(endcenter)