RailsとMongoidを使用しています。私はタグ付け機能を考え出そうとしています(各ユーザーが「お気に入り」のタグを持つことができるという点でstackoverflowに似ています)。
mongodbについて読んだデザイン記事から、「第4正規」の形で考えるのをやめる必要があることがわかりました。私は多対多のテーブルとと、そして別の多対多のテーブルととを考え続けてtag_idいuser_idます。しかし、nosqlについて読むと、各ユーザーまたはアイテム内にタグ(タグまたは文字列の配列として)を埋め込む方がはるかに良いように思われます。tag_iditem_id
「tags」コレクションにはタグのリストがあり、アプリケーションはユーザーがお気に入りにタグを追加できるかどうかを制御します。
私はこれを行う方法を理解しようとしています。tagモデルにを持っていてkey、titleそれらの配列をkeysユーザーモデルに格納するだけですか?この状況では、「リンク」または「埋め込み」の方が適していますか?foo-barのようなキーがあり、タイトルが。であるため、タグを取得する方法を考えていますFoo Bar。ユーザーのタグを取得する必要がある場合は、配列をループして各タグモデルをフェッチし、タイトルを取得する必要がありますか?