gpt4 book ai didi

java - 如何使用java从Json文件导入数据到Mongodb

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:09:28 27 4
gpt4 key购买 nike

我正在努力将数据从 Json 文件导入 Mongodb
我可以在命令行中使用 mongoimport 命令 执行相同的操作。
我探索并尝试了很多但无法使用 java 从 Json 文件导入。

示例.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" }
}

并将其赋值给一个变量(String json1),下一步就是解析它,

DBObject dbo = (DBObject) com.mongodb.util.JSON.parse(json1);

将所有dbo放入一个列表中,

List<DBObject> list = new ArrayList<>();
list.add(dbo);

然后将它们保存到数据库中:

new MongoClient().getDB("test").getCollection("collection").insert(list);

编辑:

在最新的 MongoDB 版本中,您必须使用 Documents 而不是 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 - 如何使用java从Json文件导入数据到Mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26624116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com