MongoDB に埋め込まれたドキュメントをフィルタリングする方法を理解するのに苦労しており、リレーショナル アソシエーションを使用する必要があると考え始めていますが、ドキュメント ストアのコンテキストではそれは間違っているように感じます。
典型的なブログ/コメント システムに固執すると、 のコレクションがありblogs
、それぞれblog
に多数の がありcomments
ます。コメントは、ブログ ドキュメント内の埋め込みドキュメントとして保存されます。
blogs
コレクションをフィルター処理するのは非常に簡単ですがcomments
、それぞれに埋め込まれたものをフィルター処理するblog
には、それらをすべてメモリにロードし (すべてを Ruby 配列に取得)、各コメントをループして、特定の条件に一致するコメントを返す必要があります。 .
ドット表記を使用して埋め込みドキュメントをフィルタリングする私の試みは失敗し、すべてのサブドキュメントが戻ってきます。
MongoDB でこれらをフィルタリングするためのより良い方法はありますか、それともリレーショナル アソシエーションを辞任する必要がありますか? (すべての埋め込みドキュメントを引き戻し、手動でフィルタリングすることは、長期的にはあまりにも集中的になります)