MongoDB 数据建模
在MongoDB中,数据建模是一个核心步骤,它影响着数据的组织方式、性能以及可伸缩性。下面是一个简单的MongoDB数据建模示例,它展示了如何为一个简单的博客应用程序设计数据模型。
// 用户文档
{
_id: ObjectId("5f50c31e1c4ae837d4a56a6a"),
username: "johndoe",
email: "johndoe@example.com",
passwordHash: "..." // 密码散列值
}
// 帖子文档
{
_id: ObjectId("5f50c31e1c4ae837d4a56a6b"),
title: "Hello World",
content: "Welcome to my blog!",
author: ObjectId("5f50c31e1c4ae837d4a56a6a"), // 用户ID
comments: [
{
author: ObjectId("5f50c31e1c4ae837d4a56a6a"), // 用户ID
content: "Nice post!",
createdAt: new Date()
}
// 可以包含更多评论
]
}
// 评论文档
{
_id: ObjectId("5f50c31e1c4ae837d4a56a6c"),
post: ObjectId("5f50c31e1c4ae837d4a56a6b"), // 帖子ID
author: ObjectId("5f50c31e1c4ae837d4a56a6a"), // 用户ID
content: "Keep up the good work!",
createdAt: new Date()
}
在这个例子中,我们定义了三种类型的文档:用户、帖子和评论。每个文档都有一个_id
字段,用于唯一标识记录。用户和帖子通过ObjectId
关联,而评论则通过ObjectId
和帖子字段关联。这种设计能够保证数据之间的松耦合,同时也有助于查询和更新操作。
评论已关闭