복붙노트

[MONGODB] NumberLong으로 간단한 정수 사이 MongoDB의 차이?

MONGODB

NumberLong으로 간단한 정수 사이 MongoDB의 차이?

데이터 유형을 두 번, NumberLong으로, NumberInt 또는 MongoDB의에서 간단한 정수의 주요 차이점 (크기, 속도 등)은 무엇입니까?

I (0에서 1000 사이 일) 작은 고정 번호를 저장하려면 내가 어떤 데이터 유형을 사용해야합니까?

해결법

  1. ==============================

    1.NumberInt

    NumberInt

    기본적으로 몽고는 취급 부동 소수점 값으로 모든 숫자 쉘. 몽고 쉘 명시 32 비트 정수를 지정 NumberInt () 생성자를 제공한다.

    NumberLong으로

    기본적으로 몽고는 취급 부동 소수점 값으로 모든 숫자 쉘. 몽고의 쉘은 64 비트 정수를 처리 할 수있는 NumberLong으로 () 클래스를 제공한다.

    NumberLong으로 () 생성자는 문자열로 긴 허용합니다

    NumberLong("2090845886852")
    

    출처 : http://docs.mongodb.org/manual/core/shell-types/

  2. ==============================

    2.NumberLong으로하고 NumberInt는 MongoDB의 쉘에서 MongoDB를하지만 ​​자바 스크립트 함수의 데이터 타입이 아니다.

    NumberLong으로하고 NumberInt는 MongoDB의 쉘에서 MongoDB를하지만 ​​자바 스크립트 함수의 데이터 타입이 아니다.

    MongoDB의 데이터 유형이 BSON 사양에 정의되어 있습니다 http://bsonspec.org/spec.html

    숫자를 입력하는 0x01 (부동 소수점)로 저장되며,을 0x10 (32 비트 정수)를 입력하거나는 0x12 (64 비트 정수)를 입력.

    삽입하거나 MongoDB의 쉘에서 문서를 업데이트 할 경우, NumberLong으로는 64 비트 정수, NumberInt 32 비트 정수를 생성 생성하고, 일반 자바 스크립트 번호는 부동 소수점 값을 생성합니다. 자바 스크립트에는 정수 만 부동 소수점 숫자가 없기 때문입니다.

    MongoDB의 쉘 프로그램 부동 소수점 숫자 및 JavaScript 번호 32 비트 정수, 64 비트 정수 반면에 출력 NumberLong으로 호출로 나타낸다 :

    > db.inttest.insert({f: 1234, i: NumberInt("1234"), l: NumberLong("1234")})
    > db.inttest.findOne()
    {
            "_id" : ObjectId("5396fc0db8e0b3e2dedb59b0"),
            "f" : 1234,
            "i" : 1234,
            "l" : NumberLong(1234)
    }
    

    다른 MongoDB의 드라이버는 숫자의 다른 유형을 삽입하는 다른 방법을 제공합니다. 당신이 BSONObjectBuilder에 오래 오래 값을 추가하는 경우 예를 들어, C ++ 드라이버는 64 비트 정수를 작성합니다.

    숫자가 동일 할 때마다 쿼리 일치합니다. 위의 예에서, 쿼리

    > db.inttest.find({i:1234})
    > db.inttest.find({l:1234})
    > db.inttest.find({f:1234})
    > db.inttest.find({i:NumberLong("1234")})
    > db.inttest.find({l:NumberLong("1234")})
    > db.inttest.find({f:NumberLong("1234")})
    

    모든 삽입 된 문서를 일치합니다.

  3. from https://stackoverflow.com/questions/17185220/mongodb-differences-between-numberlong-and-simple-integer by cc-by-sa and MIT license