2016-12-12 1 views
1

MongoDB를 처음 사용하고 찾기 작업을 실행 한 결과에 대해 집계 연산을 수행하려고합니다. 다음과 같이찾기 후에 MongoDB 집계?

내가 & 인구 결과 5 마일 거리에 미국, 도시를 얻기 위해 찾기 작업을 실행 해요 :

db.zipcodes.find({loc : { $near : [-86, 54], $maxDistance: 5*(1/69) }}) 

을 지금, 나는이 집계 즉, 그룹을 수행 할 국가에 의한 결과와 정렬 된 방식으로 그룹 상태의 전체 채우기를 반환합니다. 나는 이런 식으로 시도했다 :

db.zipcodes.aggregate({ $group : { ... }, { db.zipcodes.find(...) }}, {$sort : {_population : 1}}) 

하지만 불행히도 작동하지 않습니다.

도움을 주시면 감사하겠습니다.

+1

는 db.zipcodes를 대체하기 위해 $ 일치 연산자를 사용해보십시오. 발견() – felix

답변

3

찾기 쿼리 결과를 집계, 대신 당신이 $match을 사용할 수 있습니다 찾기에 전달 될 수 없습니다 후 그룹 작업

샘플 쿼리

db.zipcodes.aggregate([{$match:{loc : { $near : [-86, 54], $maxDistance: 5*(1/69) }}},{$group : { ... }}, {$sort : {_population : 1}}])