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