Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 셸에서 MongoDB에 8바이트 정수(NumberLong) 삽입하는 방법

NumberLong()으로 8바이트 정수 삽입하기

JavaScript 셸(mongo shell)에서 MongoDB에 8바이트(64비트) 정수를 삽입하려면 NumberLong() 생성자를 사용해야 합니다. JavaScript의 일반 숫자 타입은 안전하게 표현할 수 있는 정수 범위가 제한적이기 때문에, 그보다 큰 값을 다룰 때는 반드시 NumberLong을 사용하는 것이 좋습니다.

기본 문법은 다음과 같습니다.

anyVariableName = {"yourFieldName" : new NumberLong("yourValue")};

삽입 예제

다음은 userId라는 필드에 8바이트 정수를 삽입하는 실제 쿼리입니다.

> userDetail = {"userId" : new NumberLong("98686869")};
{ "userId" : NumberLong(98686869) }

쿼리를 실행하면 값이 NumberLong 타입으로 정상적으로 저장된 것을 확인할 수 있습니다.

저장된 값 확인하기

삽입된 변수의 값을 확인하는 방법은 두 가지가 있습니다.

1. 변수 이름으로 직접 출력

변수 이름만 입력하면 저장된 값이 그대로 출력됩니다.

> userDetail

실행 결과는 다음과 같습니다.

{ "userId" : NumberLong(98686869) }

2. printjson() 함수 사용

printjson() 함수를 사용하면 객체를 보기 좋은 형태로 출력할 수 있습니다.

> printjson(userDetail);

실행 결과는 다음과 같습니다.

{ "userId" : NumberLong(98686869) }

정리

MongoDB에서 64비트 범위의 큰 정수를 다룰 때는 new NumberLong("값") 형태로 문자열을 전달하여 생성하는 것이 안전합니다. 특히 JavaScript의 Number.MAX_SAFE_INTEGER(약 9×10¹⁵)를 초과하는 값을 다룰 때는 반드시 이 방식을 사용해야 데이터 손실 없이 정확하게 저장할 수 있습니다.