Domanda

Al momento sto imparando il BSON java libreria per MongoDB e io' Sto cercando di trasformare una org.bson.BSONObject in XML al fine di trasformarlo con un XSLT foglio di stile.

Che tipo di tipi Java posso trovare come valori in un BSONObject da un MongoDB? Naturalmente ci saranno:

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

Quali sono gli altri? BigDecimal e BigInteger? booleano, int, long, double? Timestamp .. ecc ... ??

grazie,

Pierre

È stato utile?

Soluzione

dovuto cercare troppo, ma secondo questo < dopo la mappatura / a> mongodb-dev è fatto in questo modo:

 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" 

Questo articolo su mongodb.org è una buona risorsa per questo, anche .

Modifica: Abbiamo dato un'occhiata alla fonte:. Org.bson.types * sta avendo una serie di classi per i tipi BSON. org.bson.BSONDecoder decodifica una stringa BSON e che la mappatura elencato sopra.

Altri suggerimenti

Un modo alternativo per operare su BSON sarebbe usare Jackson JSON processore ; anche se di default opera su JSON, ci sono estensioni di usarlo sia su BSON e XML . Dal momento che Jackson fa l'associazione di dati, è possibile associare i dati BSON in Java POJO (con bson4jackson) e scrivere in formato XML (con jackson-xml-databind). La trasformazione sarebbe semplice come:

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

Se avete, o creare, MyPojo che mappa tutte le proprietà; o, se non specificando Map.class come tipo intermedio da associare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top