私は Ruby で小さな torrent インデクサーを作成しており ( here )、データベースのオプションとして MongoDB をサポートしたいと考えています。tag
現在、 s とs の間の多対多の関係でデータベースをセットアップしていますtorrent
。
torrent_id
特定のリスト内のすべてのタグに一致するマップ テーブルからすべての を取得するクエリをどのようにフォーマットしますか?
私はこれを次のようにSQLで行いました:
select torrent_id, count(*) num from tagmap where tag_id in (tag1, tag2, tag3, tag4) group by torrent_id having num = 4"
編集:私は現在、 と を使用してコレクションのみを使用していtorrent_id
ますtag_id
。入っているのはそれだけです。だから私はIDをIDにマッピングしていますが、それ以上のものはありません。