当前位置: 首页 > 面试题库 >

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

花高爽
2023-03-14
问题内容

我正在努力将数据MongodbJson文件导入。
我可以使用在命令行中执行相同的操作mongoimport command
我进行了很多尝试,但无法使用Java从Json文件导入。

sample.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);

将所有 dbo 放入列表,

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" 
    }
}

与以前不完全一样。



 类似资料:
  • 问题内容: 有没有办法将数据从JSON文件导入R?更具体地说,该文件是带有字符串字段,对象和数组的JSON对象的数组。关于如何处理此http://cran.r-project.org/web/packages/rjson/rjson.pdf,RJSON软件包尚不清楚。 问题答案: 首先安装软件包: 然后: 更新: 从0.2.1版本开始

  • 问题内容: 我正在制作一个混合移动应用程序,我需要存储一些数据,例如,如果它是一个游戏:高分等..到目前为止,它能够使用jquery从JSON文件中读取数据..,但是是否可以写到JSON文件??! 还是有其他方法可以这样做? IDE-Eclipse(插件-IBM Worklight Studio) 只能使用HTML 5以及JS和JQ! 谢谢 (: 问题答案: 您可以将JSON写入本地存储,而只需使

  • 问题内容: 例如,我有一个具有以下内容的文件: 将另一个对象推入此数组以使文件看起来像的JavaScript代码是什么 我要问的原因是我在网上找到了很多有关如何使用AJAX从.json文件中提取数据的信息,但没有使用AJAX将新数据写入.json文件以用其他数据更新.json文件。 任何帮助,将不胜感激! 问题答案: 您必须清楚“ JSON”的含义。 某些人错误地使用术语JSON来指代简单的旧Ja

  • 问题内容: 我在变量中存储了JSON数据。 我想将其写入文本文件进行测试,因此不必每次都从服务器获取数据。 目前,我正在尝试: 我收到此错误: TypeError:必须是字符串或缓冲区,而不是dict 如何解决这个问题? 问题答案: 您忘记了实际的JSON部分- 是字典,尚未进行JSON编码。写这样的最大兼容性(Python 2和3): 在现代系统(即Python 3和UTF-8支持)上,您可以使

  • 问题内容: 我正在使用Angular Maps构建地图应用程序,并希望导入JSON文件作为定义位置的标记列表。我希望将此JSON文件用作app.component.ts中的marker []数组。而不是在TypeScript文件中定义标记的硬编码数组。 导入此JSON文件以在我的项目中使用的最佳过程是什么?任何方向都非常感谢! 问题答案: 直到最近的打字稿更新之前,Aonepathan的单行代码都

  • 问题内容: 例如,我有一个文件,它是一个对象数组(严格地形成),它很简单(没有嵌套的对象),就像这样(重要的是:它已经包含了id): 我想将它们全部导入到表的postgres db中。 当我将其作为json类型的列导入到像这样的表中并用其中列出的对象命名的列,然后使用sql获取这些值并将其插入到真实表中时,我发现了一些非常困难的方法。 但是有没有一种简单的方法就可以将json导入到postgres