tipos de Java en org.bson.BSONObject
Pregunta
Actualmente estoy aprendiendo el href="http://github.com/mongodb/mongo-java-driver/" rel="nofollow noreferrer"> BSON biblioteca y yo' m tratando de transformar un org.bson.BSONObject en XML con el fin de transformarlo con un XSLT hoja de estilo.
¿Qué clase de tipos java puedo encontrar como valores en un BSONObject de un MongoDB? Por supuesto que habrá:
- BSONObject (doc interna)
- java.lang.String
- ???
¿cuáles son los otros? BigDecimal y BigInteger? boolean, int, long, double? Marca de tiempo .. etc ... ??
Gracias,
Pierre
Solución
Tuvo que buscar demasiado, pero de acuerdo con esta < mapeo del poste / a> mongodb-dev se hace de esta manera:
NULL null
UNDEFINED null
BOOLEAN Boolean
NUMBER Double
NUMBER_INT Integer
NUMBER_LONG Long
SYMBOL String
STRING String
OID mongodb ObjectID
REF DBPointer
DATE Date
REGEX Pattern
BINARY DBBinary
CODE (exception)
ARRAY DBList
OBJECT DBObject or DBRef
TIMESTAMP DBTimestamp
MINKEY String: "MinKey"
MAXKEY String: "MaxKey"
Este artículo en mongodb.org es un recurso bueno para él, también .
Editar: Tenía un vistazo a la fuente:. * Org.bson.types está teniendo un número de clases para este tipo de BSON. org.bson.BSONDecoder está decodificando una cadena BSON y el mapeo de la lista anterior.
Otros consejos
Una forma alternativa de operar en BSON sería utilizar Jackson JSON procesador ; aunque por defecto que opera en JSON, hay extensiones para utilizarlo tanto en BSON y XML . Desde hace Jackson enlace de datos, se puede enlazar datos BSON en Java POJO (con bson4jackson
) y escribir como XML (con jackson-xml-databind
).
Transformación sería tan simple como:
String xml = xmlMapper.writeValue(bsonMapper.readValue(bsonData, MyPojo.class));
Si usted tiene, o puede crear, MyPojo
que mapea todas las propiedades; o si no especificando Map.class
como el tipo intermedio para unirse a.