2013-08-21 3 views
0

mapReduce()의 "scope"매개 변수에 정의되지 않은 값이있는 변수를 넣으면 map 함수가 null 값을 갖는 변수를받습니다. 정의되지 않은 값 대신). 그 맞습니까? 예를 들어mongodb - mapReduce() scope - 정의되지 않은 값이 null 값으로 변환됩니다.

(이하 "몽고"명령에 대한 스크립트 골격)

db.mycol.mapReduce(
         f_map, 
         f_reduce, 
         { 
          scope: { myvar: undefined} 
         } 
       ); 

function f_map() 
{ 
    print("myvar: " + myvar); 
} 

는 "myVar에, NULL"인쇄한다 (대신에 "myVar에 정의되지 않은") 서버 로그에합니다 (replicaset 부재로 로그). MapReduce()를 통과 할 때 정의되지 않은 값이 자동으로 null 값으로 변환됩니까?

답변

1

null 값은 v8 enginenull 값으로 변환됩니다.

이전 Spider Monkey JS 엔진과의 호환성을 유지하고 해당 동작에 의존하는 기존 코드를 손상시키지 않기위한 이유입니다.

관련 문제