Question

J'apprends actuellement la bibliothèque BSON java pour MongoDB et I » m essayant de transformer un org.bson.BSONObject en XML afin de le transformer avec un XSLT stylesheet.

Quel genre de types java puis-je trouver en tant que valeurs dans un BSONObject d'un MongoDB? Bien sûr, il y aura:

  • BSONObject (doc interne)
  • java.lang.String
  • ???

quels sont les autres? BigDecimal et BigInteger? booléen, int, long, double? Timestamp .. etc ... ??

merci,

Pierre

Était-ce utile?

La solution

Nous avons dû chercher trop, mais selon ce après mongodb-dev mapping se fait comme suit:

 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" 

Cet article sur mongodb.org est une bonne ressource pour elle aussi .

Edit: Il y avait un coup d'œil à la source. Org.bson.types * est d'avoir un certain nombre de classes pour les types de BSON. org.bson.BSONDecoder décode une chaîne BSON et le mapping indiqué ci-dessus.

Autres conseils

Une autre façon d'opérer sur BSON serait d'utiliser Jackson processeur JSON ; bien que par défaut, il fonctionne sur JSON, il existe des extensions pour l'utiliser à la fois sur BSON et XML . Depuis Jackson fait la liaison de données, vous pouvez lier des données BSON en Java POJO (avec bson4jackson) et écrire comme XML (avec jackson-xml-databind). La transformation serait aussi simple que:

String xml = xmlMapper.writeValue(bsonMapper.readValue(bsonData, MyPojo.class));

si vous avez, ou pouvez créer, MyPojo qui associe toutes les propriétés; ou sinon en spécifiant que le type Map.class intermédiaire à se lier à.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top