Ruby에 작은 토런트 인덱서를 쓰고 있습니다 (here). MongoDB를 데이터베이스 옵션으로 지원하고 싶습니다. 현재 데이터베이스는 tag
과 torrent
사이의 다 대다 관계로 설정되어 있습니다.mongodb의 many to many 관계
torrent_id
전체를 주어진 목록의 모든 태그와 일치하는지도 테이블에서 가져 오는 쿼리의 형식을 어떻게 지정합니까?
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에 매핑하고 더 많이 제외 시켰습니다.
를 사용해야합니다 (그룹화, 계산). –
각각의 장점은 무엇입니까? – tekknolagi
가입 콜렉션이있는 경우 태그와 토런트 레코드를 연결하려면 여러 쿼리를 수행해야합니다. 예를 들어 배열의 레코드에 태그가 직접있는 경우 단일 쿼리에서 특정 태그가있는 급류를 검색 할 수 있습니다. –