版权所有,未经许可,禁止转载
章节
MongoDB中的数据结构很灵活。同一集合中的文档,数据结构不必相同。
MongoDB中设计数据结构时的一些注意事项
- 根据用户需求设计数据结构。
- 如果需要把对象组合在一起使用,例如:文章与评论,可将它们放到一个文档中。
- 可以适当有数据冗余,因为与计算时间相比,磁盘空间更便宜。
例子
假设我们需要为一个博客网站设计数据库。博客网站有以下要求:
- 每个帖子都有唯一的标题、描述和url。
- 每个帖子可以有一个或多个标签。
- 每一篇文章都有其发布者的名字和总点赞数。
- 每个帖子都有用户评论,评论包括姓名、评论内容、评论时间和点赞数。
- 每个帖子都可以有0条或更多评论。
在关系数据库中,针对上述需求的设计,将至少有三个表。
而在MongoDB中,将有一个集合post,结构如下
{
_id: POST_ID
title: TITLE_OF_POST,
description: POST_DESCRIPTION,
by: POST_BY,
url: URL_OF_POST,
tags: [TAG1, TAG2, TAG3],
likes: TOTAL_LIKES,
comments: [
{
user:'COMMENT_BY',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
},
{
user:'COMMENT_BY',
message: TEXT,
dateCreated: DATE_TIME,
like: LIKES
}
]
}
因此,在显示数据时,在关系数据库中,需要连接三个表,在MongoDB中,只需读取一个集合中的数据。