2012-08-24 1 views
0

전 몽구스에서 완전히 새롭게 바뀌 었습니다. 아마도 어리석은 질문으로 인해 미안하지만, 실제로 누군가의 도움이 필요합니다.몽구스의 논리 조건에 대한 정확한 질문을 찾을 수 없습니다.

모델의 필드는 major_ratingminor_rating입니다. 내가 한 멤버가 :

example = {'major_rating': N1, 'minor_rating': N2} 

을 나는이 조건을 만족하는 회원의 양을 찾을 필요가 :

major_rating > N1 || (major_rating == N1 && minor_rating >= N2) 

나, 그것을 알아낼 두 개의 쿼리를 만드는 것보다 더 나은 방법이있을 도와주세요 :

.where('major_rating').gt(N1).count(..) 

.where('major_rating').equals(N1).where('minor_rating').gte(N2).count(..) 

결과를 서로 더합니다.

답변

0

당신이 원하는 것을 할 수있게 해주는 몽구스에는 or operator가 있습니다. MongoDB에서 고급 쿼리를 수행하려면 MongoDB 조건으로 돌아 가야합니다. 모든 정보에 대해서는 regular MongoDB docs을 사용할 수 있습니다.

아래의 예는 문제를 해결하거나 적어도 당신이 시작할 수 있어야합니다

.or([{major_rating: {$gt: N1}}, {major_rating: N1, minor_rating: {$gte: N2}}]).count() 
관련 문제