2013-08-23 2 views
2

Matlab에서 드라이버를 사용해야하므로 MongoDB Java 드라이브를 사용해야합니다.MongoDB Java 드라이버 - 객체 유형

나는 지금 다음과 같은 문제가 있습니다. 데이터베이스에서 내 BSON 객체를 얻었습니다. 이제 BSON 트리를 Matlab 구조로 변환해야합니다. 내 문제는 BSONObject 또는 BasisBSONObject 클래스에 particluar BSON 개체 (ARRAY, OBJECTID, ...)의 형식을 검색하는 함수가 없다는 것입니다. 필요한 값을 정의하는 Java 드라이버에 BSON이라는 클래스가 있습니다. 그러나 현재의 BSON 객체가 어떤 유형인지 알아내는 법을 모르겠습니다.

C++ 드라이버와 C# 드라이버에는 특정 BSON 요소의 유형을 반환하지만 JAVA 드라이버는 어디에 있습니까?

모든 조언을 환영합니다. 나는 자바에서 oerfect 아니에요 아마 이런 이유로 찾지 못했을거야 ...?

+0

나는 그런 유형이 없다고 생각합니다. BSONObject의 값에는 유형이 있지만 (객체를 검색 할 수는 있지만 get 객체 만 검색 할 수 있습니다.) –

답변

1

왜 객체를 가져 오지 않고 getClass()을 호출해야합니까? myBSON.get("myKey").getClass() 존재하지도 않고 API에서도 중복되는 일부 myBSON.getTypeOf("myKey") 메서드를 호출하는 것만 큼 쉽습니다.

+0

감사합니다 John, 솔루션은 C++과 C# MongoDB 드라이버에 대한 comparsion에서 일종의 "이상한"것입니다. 그러나 모든 getClass()는 BSON 요소가 "value", "array"인지 알기 위해 작동합니다 ... – Thomas

0

일반적으로 Morphia 또는 Spring-Data-Mongo와 같은 Java POJO 매핑 라이브러리 인 BSON <을 사용합니다. 이러한 라이브러리에는 mongo 개체에서 형식이 안전한 개체로 변환 할 수있는 변환기가 있습니다.

또한 Mongo 3.x 드라이버는이 문제에 대한 더 나은 지원이 필요하다고 생각합니다.

관련 문제