こんにちは、私はmongoDBとMongoidを使い慣れていて、組み込みのドキュメントを使用するタイミングと組み込みの深さについてちょっと混乱しています。だから、架空の例モンゴイドにどの程度深く埋め込むべきですか?
:
Library collection has_many :books, which embeds_many :pages, which embeds_many :sections
私が働くことができないので、セクションは、直接私が右、トラフbooks.pages.sectionsを行かなければならないと言いますか?
これはこのルートになりますlibraries/:id/books/:id/pages/:id/sections/:id
これはちょっと狂っているようですが、ベストレベルでは1つのレベルを深く入れようとするのでしょうか? 1つの方法は、ルートpages/:id/sections/:id
を持っているし、要求にbookidを貼っているだろうか?
セクションに問い合わせるのは難しいですか?たとえば、セクションにタグxが付いているすべての書籍を検索する必要がある場合
しかし、私は余分なクエリを持っていると思いますか?
誰かが光を放つことはできますか?ありがとう。
ルーティングは、データベースの設計とは明示的に関係していません。あなたは本当にそのような深いネストされたルートを避けるべきです。ほとんどの場合、それらは必要ではない。 – asaaki