如何使用Java从Json文件将数据导入Mongodb

我正在努力将数据MongodbJson文件导入。

我可以使用在命令行中执行相同的操作mongoimport command

我进行了很多尝试,但无法使用Java从Json文件导入。

    { "test_id" : 1245362, "name" : "ganesh", "age" : "28", "Job" : 

{"company name" : "company1", "designation" : "SSE" }

}

{ "test_id" : 254152, "name" : "Alex", "age" : "26", "Job" :

{"company name" : "company2", "designation" : "ML" }

}

谢谢你的时间 〜加内什〜

回答:

假设您可以分别读取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);

将所有 放入列表,

List<DBObject> 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"

}

}

与以前不完全一样。

以上是 如何使用Java从Json文件将数据导入Mongodb 的全部内容, 来源链接: utcz.com/qa/404635.html

回到顶部