JSON insert to MongoDB

18 views (last 30 days)
Seb
Seb on 23 Jul 2017
Answered: Nikolaus Koopmann on 13 Apr 2022
I have a structure array. I am able to encode this to json formatted text using matlabs function jsonencode(). I now want to insert this into MongoDB using the java driver. This is what I have so far:
javaaddpath('/Users/seb/Documents/MATLAB/mongo-java-driver-3.4.2.jar')
import com.mongodb.*;
mongoClient = MongoClient();
db = mongoClient.getDB( 'mydb' );
colls = db.getCollectionNames();
coll = db.getCollection('testCollection');
doc = BasicDBObject();
doc.put(json_string);
wc = com.mongodb.WriteConcern(1);
coll.insert(doc, wc);
Problem is I cannot put the json_string into doc, as it needs to be parsed into a java object and then inserted. Any ideas....?
  1 Comment
Sailesh Sidhwani
Sailesh Sidhwani on 27 Jul 2017
What is the exact error message that you receive when you try to put "json_string" into "doc"?

Sign in to comment.

Answers (1)

Nikolaus Koopmann
Nikolaus Koopmann on 13 Apr 2022
try this:
javaaddpath('/Users/seb/Documents/MATLAB/mongo-java-driver-3.12.10.jar') % NOTE: i changed the version
import com.mongodb.*;
mongoClient = MongoClient();
db = mongoClient.getDB( 'mydb' );
colls = db.getCollectionNames();
coll = db.getCollection('testCollection');
% changed code hereafter
doc = org.bson.Document.parse(java.lang.String(json_string)); % !!!
coll.insertOne(doc);

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by