このデータモデルのタグ部分を構造化する方法に関するいくつかの推奨事項を探しています。
これを簡略化したものを次に示します。
- サイトには多くの投稿があります(リレーショナルアソシエーション[mongoidのreferences_many])。サイトにはタグのツリーがあります
- 投稿にはタグの配列があります(サイトのタグのサブセット、順序は関係ありません)
私が気にかけているユースケースは次のとおりです。
- サイトのタグをツリー形式ですばやく保存および取得します(つまり、UIでツリーとして表示できるようにします)
- サイトのどの投稿に特定のタグが付いているかをすばやく照会します。
ツリー構造がなければ、 http: //github.com/wilkerlucio/mongoid_taggableは私のユースケースを解決します。Mongoidのacts_as_treeポートのいくつかを次のように見ました。
- http://github.com/benedikt/mongoid-tree
- http://github.com/saks/mongoid_acts_as_tree
- http://github.com/ticktricktrack/mongoid_tree
それらはすべて、階層を格納するために、埋め込まれているのではなく、リレーショナルアプローチを採用しているようです。これは、上記の両方のユースケースが遅いことを意味します(マップ/リデュースが必要になる可能性があります)。
誰かが似たようなことをしたか、何かアドバイスがありますか?理想的にはMongoidソリューションが大好きですが、Rubyドライバーにもドロップダウンできてうれしいです。