2013-08-25 2 views
0

두 개의 속성 b 및 u가 배열입니다. 조건 1을 만족하는 b에 적어도 하나의 요소가 있거나 조건을 만족하는 u에 적어도 하나의 요소가있는 모든 문서를 내 쿼리로 반환하길 원합니다.Mongodb, 하나 또는 다른 조건이 충족되는 경우에만 일치/그룹화 문서를 어떻게 집계합니까?

제 조건은 조건 1을 만족하면 배열 b를 만족시키는 모든 요소와 u의 모든 요소로 배열 b를 반환합니다. 조건 B와 동일합니다.

원하는 항목 : b 조건 1에 해당하는 요소가 있으면 그 요소를 만족하는 배열을 반환하십시오. 그렇지 않으면 빈 배열 또는 제외 b. 조건 2 및 u와 동일합니다.

조건을 만족하는 요소가 없으면 문서를 제외하십시오.

답변

2

아쉽게도 데이터베이스 서버에서 MongoDB를 사용하여 한 번에 할 수 없습니다. 클라이언트 쪽에서해야합니다.

일부 필드 (예 : here과 같이 배열의 첫 번째 일치하는 결과) 만 포함 시키거나 제외하도록 결과를 프로젝션 할 수 있지만 (여러 개의 배열을 사용한 검색을 기준으로 조건부로 결과를 포함 할 수는 없습니다. (투영 연산자는 일치하는 결과뿐만 아니라 첫 번째 일치를 반환합니다).

요구 사항을 충족시키기 위해 다른 문서/모음 구조를 고려해야 할 수도 있습니다. MongoDB에는 아직 서브 문서 수준 필터링/검색 기능이 없습니다.

+0

두려웠습니다. 필자는 많은 양의 쓰기 및 읽기가 포함 된 일종의 "보류"컬렉션을 수행해야 할 것입니다. 유선 타이 – Discipol

관련 문제