javascript - すみません、記事に複数のタグがあり、1 つのタグの下に複数の記事がある場合、mogoose を使用してテーブルを設計するにはどうすればよいですか?
给我你的怀抱
给我你的怀抱 2017-06-30 09:52:50
0
4
867

使用シナリオは次のとおりです:

記事を公開する際にはタグがつきます。記事内にはたくさんのタグが存在します。

それでは、タグをクエリするときに、このタグのすべての記事をクエリするにはどうすればよいでしょうか? ?

それでは、mongoodb データ設計のアイデア全体とは何でしょうか?いくつか答えてください、thx

给我你的怀抱
给我你的怀抱

全員に返信(4)
phpcn_u1582

記事には_id、タイトル、タグ、コンテンツが含まれています
そして、タグには多くのタグが含まれています

  • _id

  • タイトル

  • タグ

    • タグ1

    • タグ2

    • タグ3

  • コンテンツ

次のようにデザインできます
特定のタグの下にあるすべての記事を返すメソッドを書くことができます

リーリー

その後、対応するルートで呼び出します

いいねを押す +0
習慣沉默

記事を保存する際、タグ配列(外部キー)に対応するタグIDを追加し、同時に対応する全てのタグに記事ID(外部キー)を追加します

いいねを押す +0
phpcn_u1582

これは典型的な多対多モデルであり、テーブルのデザインは次のとおりです

記事表記事

リーリー

タグテーブルタグ

リーリー

記事とタグの関連付けテーブルarticle_tag

リーリー

具体的なアイデア

  • article_tag の外部キー制約を通じて、article テーブルと tags テーブルを関連付けます

  • article タグの操作では、タグが既に存在する場合は、article_tag テーブル データを追加または削除するだけで済みます

  • タグが存在しない場合は、まずタグと記事を追加してから、文章ID<->标签IDdataをarticle_tagに追加してください

  • タグ内のすべての記事をクエリする場合は、article_tag テーブルを使用して記事テーブルを左結合 (またはインライン) します

  • 記事のすべてのタグをクエリしたい場合は、article_tag テーブルを使用してタグ テーブルを左結合 (またはインライン) します

  • 上記の 2 つのケースで、タグまたは記事データがまだ必要な場合は、タグ テーブルまたは記事テーブルを左リンクし続けてください。

いいねを押す +0
女神的闺蜜爱上我

上記の解決策に同意します。記事用に 1 つのテーブル、タグ用に 1 つのテーブルを作成し、記事タグの対応するテーブルを作成します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート