2

Node.js + MongoDB データベースでブログ アプリケーションを作成しています。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"
}

コメントDB

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

ユーザー情報DB

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

コメントをいただければ幸いです。

4

1 に答える 1

3

あなたの代わりに、Comments コレクションを Posts コレクションに埋め込みます。これの欠点は、多数のコメントがある場合、16MB の制限に達する可能性があることです。利点は、データを事前に結合しているため、クエリが高速になることです。とにかく、投稿なしでコメントを探すことはありません。

もう 1 つのことは、「user」フィールドを UserInfo コレクションの ID にすることです。そうすれば、コメントで一意のユーザーへの参照が得られます。

于 2013-06-25T16:18:45.177 に答える