[MONGODB] A A MongoDB를 GROUP BY에서 HAVING을 할 수있는 올바른 방법은 무엇입니까?
MONGODBA A MongoDB를 GROUP BY에서 HAVING을 할 수있는 올바른 방법은 무엇입니까?
무엇 SQL에서이 쿼리 될 것이다 들어 (중복을 찾을 수) :
SELECT userId, name FROM col GROUP BY userId, name HAVING COUNT(*)>1
나는 MongoDB를이 간단한 쿼리를 수행 :
res = db.col.group({key:{userId:true,name:true},
reduce: function(obj,prev) {prev.count++;},
initial: {count:0}})
나는 결과 집합을 통해 이동하는 간단한 자바 스크립트 루프를 추가하고 모든 필드를 찾을 수있는 필터를 수행 한 카운트> (1)가, 그래서 같은 :
for (i in res) {if (res[i].count>1) printjson(res[i])};
클라이언트에서 자바 스크립트 코드를 사용하는 것보다이 다른 작업을 수행하는 더 좋은 방법이 있나요? 이 최고 / 간단한 방법 인 경우,이 말,이 질문은 사람을 도움이 될 것입니다 :)
해결법
-
==============================
1.이 질문은 질문과 대답 후, 10gen은 통합 프레임 워크와 MongoDB의 버전 2.2을 발표했다. 이 쿼리를 수행하는 새로운 가장 좋은 방법은 다음과 같습니다
이 질문은 질문과 대답 후, 10gen은 통합 프레임 워크와 MongoDB의 버전 2.2을 발표했다. 이 쿼리를 수행하는 새로운 가장 좋은 방법은 다음과 같습니다
db.col.aggregate( [ { $group: { _id: { userId: "$userId", name: "$name" }, count: { $sum: 1 } } }, { $match: { count: { $gt: 1 } } }, { $project: { _id: 0, userId: "$_id.userId", name: "$_id.name", count: 1}} ] )
10gen은 몽고 집계 변환 차트 가치가 즐겨 찾기에 편리한 SQL을 가지고있다.
from https://stackoverflow.com/questions/5550253/what-is-the-correct-way-to-do-a-having-in-a-mongodb-group-by by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 내 개체의 유효성을 검사 봄 - 데이터 - MongoDB를 얻을 수 있습니까? (0) | 2019.12.18 |
---|---|
[MONGODB] MongoDB를 & Robomongo : 연결할 수 없습니다 (인증) (0) | 2019.12.18 |
[MONGODB] MongoDB를 C #을 드라이버 2.0 - 업데이트 문서 (0) | 2019.12.18 |
[MONGODB] 통합 프레임 워크에서 객체를 언 와인드 $ (0) | 2019.12.18 |
[MONGODB] 당신은 $ 푸시 앞에 추가하는 대신이 추가 인을 몽고 수 있습니까? (0) | 2019.12.18 |