임의로 큰 숫자를 저장하는 MongoDB 문서의 필드가 있습니다. 나는 DBOBJECT (MongoDB를위한 자바 드라이버)로 검색 할 때, 나는 때때로는 ClassCastException으로 실행MongoDB/Java : DBObjects의 유형 안전
DBObject obj = collection.findOne();
long val = (Long)(o.get("numericVal"));
을 numericVal
에 저장된 값은, 말하자면, 1234567890 인 경우, 롱 캐스팅이 성공합니다. 예를 들어 12345이면 DBObject.get()은 Double을 반환하고 캐스트가 실패합니다.
MongoDB DBObject를 직렬화 해제 할 때 유형 안전성을 보장하려면 어떻게해야합니까?
당신에게 값이'12345'입니다 긍정적를? mongo와 함께 원시 값을 살펴볼 수있는 방법이 있습니까? JSON 표현이 있습니까? –
쉘을 통해 12345로 입력했지만 쉘에서 인쇄하면 12345.0으로 표시됩니다. 분명히 그것은 파서 (자바 드라이버) 측에서 문제가되지만, 처음에는 mongo 측에서 어떻게 발생했는지 모르겠습니다. 즉, 나는 java 드라이버와 함께 일반적으로 타입 안전성을 유지하는 법을 알고 싶다. – ericsoco