我正在写在Ruby中一个小的洪流索引(here),并希望能支持的MongoDB作为数据库的选项很多关系。目前,我在tag
s和torrent
s之间建立了多对多关系的数据库。许多人在MongoDB中
如何我会格式化查询,从匹配所有的标签在给定的列表,一个映射表得到所有的torrent_id
S'
我这样做是在这样的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并且更多。
你应该考虑没有一个加入集合,只是把标签直接到您的收藏洪流。 – 2012-07-30 21:12:36
每一个的优点是什么? – tekknolagi 2012-07-30 21:17:33
如果您有加入集合,则需要执行多个查询才能将标记与洪流记录相关联。例如,如果直接在记录中存储标签,则可以在单个查询中搜索具有特定标签的种子。 – 2012-07-30 21:21:22