سؤال

أنا أتعلم حاليا مكتبة 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 كما النوع الوسيط لربط.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top