小编典典
假设您可以分别读取JSON字符串。例如,您阅读了第一个JSON文本
{ "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{"company name" : "company1", "designation" : "SSE" }
}
并将其分配给变量(字符串json1),下一步是解析它,
DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);
将所有 dbo 放入列表,
List list = new ArrayList<>();
list.add(dbo);
然后将它们保存到数据库中:
new MongoClient().getDB("test").getCollection("collection").insert(list);
编辑:
在最新的MongoDB版本中,您必须使用文档而不是DBObject,并且添加对象的方法现在看起来有所不同。这是一个更新的示例:
进口是:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
该代码将是这样的(请参考EDIT上方的文本):
Document doc = Document.parse(json1);
new MongoClient().getDataBase("db").getCollection("collection").insertOne(doc);
您也可以按照列表的方式进行操作。但是你需要
new MongoClient().getDataBase("db").getCollection("collection").insertMany(list);
但我认为此解决方案存在问题。当您键入:
db.collection.find()
在mongo shell中获取集合中的所有对象,结果如下所示:
{ "_id" : ObjectId("56a0d2ddbc7c512984be5d97"),
"test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" :
{ "company name" : "company1", "designation" : "SSE"
}
}
与以前不完全一样。
2020-11-16