了解NoSQL数据build模 – 博客应用程序

我正在Node.js + MongoDB数据库中创build一个博客应用程序。 我曾经使用像MySQL这样的关系数据库,但是这是我第一次使用NoSQL数据库。 所以我想在继续前进之前遵循我的MongoDB数据模型。

我已经决定我的blogDB有3个集合

  1. post_collection – 存储关于该文章的信息
  2. comment_collection – 存储关于文章评论的信息
  3. user_info_collection – 包含用户信息

PostDB

{ _"id" : ObjectID(...), "author": "author_name", "Date": new Date(....), "tag" : ["politics" , "war"], "post_title": "My first Article", "post_content": "Big big article" "likes": 23 "access": "public" } 

CommentDB

 { "_id" : Objectid(...), "POST": "My First Article", "comment_by": "User_name", "comment": "MY comments" } 

UserInfoDB

 { "_id": ObjectID(...), "user": "User_name", "password": "My_password" } 

我会感谢您的意见。

在你的地方,我会将Comments集合embedded到Posts集合中。 这样做的缺点是,如果你有很多评论,你可以达到16MB的限制。 好处是你预先join了数据,所以查询会更快。 无论如何,你不会find评论。

另一件事是,你可以使“用户”字段的UserInfo集合的ID。 这样你就可以在评论中引用一个独特的用户。