2

私は現在、mongodb用のBSON javaライブラリを学習しており、 XSLTスタイルシートで変換するためにorg.bson.BSONObjectをXMLに変換しようとしています。

MongodbのBSONObjectの値として、どのような種類のJavaタイプを見つけることができますか?もちろん、次のようになります。

  • BSONObject(内部ドキュメント)
  • java.lang.String
  • ???

他は何ですか?BigDecimalとBigInteger?boolean、int、long、double?タイムスタンプなど...??

ありがとう、

ピエール

4

2 に答える 2

6

それも検索する必要がありましたが、このmongodb-devによると、ポストマッピングは次のように行われます。

 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" 

mongodb.orgのこの記事も、そのための優れたリソースです。

編集:ソースを見てください:org.bson.types。*にはBSONタイプのクラスがいくつかあります。org.bson.BSONDecoderはBSON文字列をデコードしており、上記のマッピングを実行します。

于 2010-09-16T09:41:41.673 に答える
0

BSONを操作する別の方法の1つは、JacksonJSONプロセッサーを使用することです。デフォルトではJSONで動作しますが、BSONXMLの両方で使用するための拡張機能があります。Jacksonはデータバインディングを行うため、BSONデータをJava POJOにバインドして(を使用してbson4jackson)、XMLとして書き出すことができます(を使用してjackson-xml-databind)。変換は次のように簡単です。

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

MyPojoすべてのプロパティをマップする、または作成できる場合。または、Map.classバインドする中間タイプとして指定しない場合。

于 2011-01-11T04:37:52.507 に答える