Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongodb java driver 3.0: how to store JSON document

Looks basic and simple: A have a JSON string and I want to store it in MongoDB as JSON document.

In java driver 2.xx I could use com.mongodb.util.JSON.parse(String jsonString) to get DBObject and then store it in collection.

In driver 3.0 JSON.parse still gives DBObject, but rest of API uses org.bson.Document class which looks as incompatible with DBObject.

How to do it in driver version 3.0?

like image 381
Seweryn Niemiec Avatar asked Apr 14 '15 18:04

Seweryn Niemiec


1 Answers

For you problem, you have at least 3 solutions, lets see:

private Map<String, Object> map;

private DBObject dbObject = new BasicDBObject(map);

private Document document = Document.parse(jsonText);

The imports of objects are:

import java.util.Map;
import org.bson.Document;
import com.mongodb.DBObject;

There are a difference with Document object, by default it disconsider all null attributes when object is persisted on mongo. The same not ocorres with another two, in your configuration default not.

I hope helped you...

like image 51
Marcelo Rebouças Avatar answered Sep 19 '22 09:09

Marcelo Rebouças