Frage

Ich lerne zur Zeit der BSON Java-Bibliothek für mongodb und I‘ m versucht, ein org.bson.BSONObject in XML umzuwandeln, um sie zu transformieren mit einem XSLT Sheet.

Welche Art von Java-Typ kann ich als Wert in einem BSONObject von einem MongoDB finden? Natürlich wird es sein:

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

Was sind die anderen? BigDecimal und BigInteger? boolean, int, long, double? Timestamp .. etc ... ??

Danke,

Pierre

War es hilfreich?

Lösung

Wir hatten auch danach zu suchen, sondern nach dieses mongodb-dev Post-Mapping wie dies geschehen ist:

 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" 

Dieser Artikel auf mongodb.org ist eine gute Ressource für sie auch .

Edit: ein Blick auf die Quelle zur Verfügung:. Org.bson.types * ist eine Reihe von Klassen für BSON Typen aufweisen. org.bson.BSONDecoder wird Dekodieren eines BSON Zeichenfolge und führt die Abbildung der oben aufgeführt ist.

Andere Tipps

Eine alternative Art und Weise auf BSON zu betreiben wäre zu verwenden Jackson JSON Prozessor ; obwohl standardmäßig arbeitet es auf JSON gibt es Erweiterungen es sowohl auf verwenden BSON und XML . Da Jackson tut Datenbindung können Sie BSON Daten in Java POJOs (mit bson4jackson) binden und als XML schreiben (mit jackson-xml-databind). Transformation wäre so einfach wie:

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

Wenn Sie haben, oder erstellen können, MyPojo, die alle Eigenschaften abbildet; oder wenn nicht durch Map.class als Zwischen Typ zu binden, um anzugeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top