MongoDB의 map/reduce 출력 결과는 'counts': {'input': I, 'emit': E, 'output': O}
과 같습니다. 내가 설명 할 수없는 이상한 경우를 치기 전까지 그 의미가 무엇인지 분명히 이해했다고 생각했습니다.MongoDB map/reduce counts
내 이해에 따르면 counts.input
은 (query
에 지정된대로) 조건과 일치하는 행 수입니다. 그렇다면 다음 두 쿼리의 결과가 다른 이유는 무엇입니까?
db.mycollection.find({MY_CONDITION}).count()
db.mycollection.mapReduce(SOME_MAP, SOME_REDUCE, {'query': {MY_CONDITION}}).counts.input
동일한 조건이 사용되는 한 두 개는 항상지도와 독립적으로 동일한 결과를 제공해야한다고 생각했습니다.
예. :) 그리고 내가 얻은 두 개의 숫자는 매우 다르다. 같은 쿼리가 아닐 것 같아. – ibz
hong 소리가 문제가 될 것 같은데 - 이메일 테스트 케이스를 mongodb에 보낼 수 있습니까? - 사용자가 Google 그룹에? – mdirolf
필자는 마감 기한을 지키고 있었고 몇 가지 리포트를 작성 했으므로 코드 품질에 관심이 없었기 때문에 파이썬에서 map/reduce를 시뮬레이션했습니다 (빠르고 정확함이 밝혀졌습니다). 나중에 나는 데이터베이스가 실제로 손상되었다는 것을 발견했다. 아마도 (아마 여러 번 서버를 죽이기 때문이다) 이상한 행동을 설명 할 수있다. 더 이상 재현 할 수 없을 것이라고 생각하지 마십시오. 어쨌든 고마워. :) – ibz