2016-09-04 4 views
1

내가 모든 데이터베이스 문서를 업데이트하기 위해 노력하고있어 모든 문서를 반환하지 않습니다,하지만 foreach는 간단한 사용을 시도 후 나는 모든 문서를 반환 아니에요 것을 볼 수 있습니다 나는 ... 출력 값이 변경 될 경우MongoDB를 기본 foreach 문은

db.visitors.count(); // return 2219663 
var count = 0; 

db.visitors.find().addOption(DBQuery.Option.noTimeout).forEach(function(visitor) { 
count++; 
}); 

print('total:' +count); // return only 44192 or 45575 it can change... 
+0

콜렉션이 샤드되어 있습니까? – DAXaholic

+0

단순한 콜렉션이 아닙니다. mlab에 있습니다. 그러나 로컬 머신에 mongodump를 사용하여 문제가 발생하지 않았는지 확인하십시오. – sav931

+0

db.visitors.find를 사용하면 어떻게됩니까?() .count()'? –

답변

0

(내가 robomongo 쉘에서이 스크립트를 실행 해요) 모르는이 기능에 대한 문서, 나는 후, 시간 제한에 대한 확신 서버 종료를 해요 약간의 연구를 한 결과, .addOptions()는 mongodb 3.2에서 deprecated이고, 사용하려고 시도합니다. db.collection.find({}).noCursorTimeout()

+0

나는 시도했다. 그러나 그것은 같은 문제 다. .. 매우 이상하다.. – sav931

3

OK 마침내 문제가 발견되었습니다. robomongo에서 나왔습니다. 이유는 알지만 직접 mongo 쉘에서 스크립트를 실행할 때 ..

관련 문제