[mongodb] 정수를 삽입하려고 할 때 MongoDB 삽입 부동

   > db.data.update({'name': 'zero'}, {'$set': {'value': 0}})
   > db.data.findOne({'name': 'zero})
    {'name': 'zero', 'value': 0.0}  

Mongo가 정수를 삽입하도록하려면 어떻게합니까?

감사합니다



답변

db.data.update({'name': 'zero'}, {'$set': {'value': NumberInt(0)}})

NumberLong을 사용할 수도 있습니다.


답변

(로보 몬고에서) 약간 더 간단한 구문이 저에게 효과적이었습니다.

db.database.save({ Year : NumberInt(2015) });


답변

값 유형이 이미 두 배인 경우, $ set 명령으로 값을 업데이트하면 NumberInt () 또는 NumberLong () 함수를 사용할 때 값 유형을 double로 int로 변경할 수 없습니다. 따라서 값 유형을 변경하려면 전체 레코드를 업데이트해야합니다.

var re = db.data.find({"name": "zero"})
re['value']=NumberInt(0)
db.data.update({"name": "zero"}, re)


답변

글쎄, 그것은 JavaScript이므로 ‘value’에있는 것은 정수 또는 부동 소수점 일 수있는 숫자입니다. 그러나 JavaScript에는 실제로 차이가 없습니다. 에서 학습 자바 스크립트 :

숫자 데이터 유형

JavaScript의 숫자 데이터 형식은 부동 소수점 숫자이지만 소수 구성 요소가 있거나 없을 수 있습니다. 그들이 소수점 또는 분수 구성 요소가 설치되어 있지 않은 경우, 그들은 정수 기반-10의 -2 범위의 정수로 취급하고 53 2에 (53) .


답변