أنواع Java في org.bson.bsonobject
سؤال
أنا أتعلم حاليا مكتبة Bson Java لـ Mongodb وأنا أحاول تحويل أ org.bson.bsonobject في XML من أجل تحويله باستخدام أ XSLT ورقة الأنماط.
ما نوع أنواع Java التي يمكنني العثور عليها كقيم في bsonoBject من mongodb؟ بالطبع سيكون هناك:
- bsonoBject (DOC الداخلية)
- java.lang.string
- ???
ما هم الآخرون؟ BigDecimal و BigInteger؟ منطقية ، int ، طويلة ، مزدوجة؟ الطابع الزمني .. الخ ... ؟؟
شكرًا،
بيير
المحلول
كان عليه أن يبحث عنه أيضًا ، لكن وفقًا ل هذه يتم تعيين Mongodb-Dev Post Mapping مثل هذا:
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 ويقوم التعيين المذكور أعلاه.
نصائح أخرى
إحدى الطرق البديلة للعمل على BSON ستكون للاستخدام معالج جاكسون جيسون; ؛ على الرغم من أنه يعمل بشكل افتراضي على JSON ، إلا أن هناك ملحقات لاستخدامها على حد سواء بسون و XML. نظرًا لأن جاكسون يقوم بربط البيانات ، يمكنك ربط بيانات BSON في Java Pojos (مع bson4jackson
) واكتب كـ XML (مع jackson-xml-databind
). سيكون التحول بسيطًا مثل:
String xml = xmlMapper.writeValue(bsonMapper.readValue(bsonData, MyPojo.class));
إذا كان لديك ، أو يمكنك إنشاء ، MyPojo
أن خرائط جميع الخصائص. أو إذا لم يكن من خلال تحديد Map.class
كما النوع الوسيط لربط.