Ciao, devo convertire Mongo Document in DBObject (BasicDBObject).
Sto caricando un file su mongo usando GridFS e voglio impostare i metadati, che ottengo nel documento. So che Document è praticamente lo stesso di DBObject. So di poter fare qualcosa del genere:
Document doc = new Document();
BasicDBObject.parse(doc.toJson());
Ma queste prestazioni sono inutilmente pesanti?
Il metodo gridFS setMetaData()
accetta solo DBObject
quindi devo convertirlo.
C'è un modo migliore per farlo piuttosto che convertirlo in stringa e ritorno?
risposte:
5 per risposta № 1Sei una specie di micro-ottimizzazione qui.
Tuttavia, poiché entrambe le classi sono implementazioni di Map, puoi semplicemente fare:
Document document = new Document();
BasicDBObject basicDBObject = new BasicDBObject(document);
Internamente questo fa a Map#putAll
operazione che inserisce tutte le voci della mappa del documento nella mappa BasicDbObject.