13

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?

Seweryn Niemiec
  • 1,123
  • 2
  • 13
  • 19

2 Answers2

28

For Document use the parse() static helper:

Document myDoc = Document.parse(jsonString)
Ross
  • 17,861
  • 2
  • 55
  • 73
1

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...