如何在Java中将csv文件导入mongodb

时间:2015-12-28 08:17:57

标签: java mongodb csv eclipselink

我使用EclipseLink作为mongodb的API。我需要每次从给定的csv文件更新我的数据库。 有没有办法用java将CSV文件导入MongoDB? 或者是否可以在java环境中执行这样的原始mongo命令?

mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv

2 个答案:

答案 0 :(得分:1)

mongoimport --db users --collection contacts --type csv --headerline --file /opt/backups/contacts.csv

--collection参数是可选的。如果未通过,将创建具有文件名(不带扩展名)的集合。在这种情况下,集合名称将是" contacts"。

--headerline参数是可选的。指定--headerline指示mongoimport使用CSV文件中的第一行确定字段名称。

此外,可以指定--ignoreBlanks忽略CSV中的空白字段。

更多信息可在mongoimport文档here中找到。

答案 1 :(得分:1)

Java Driver中没有mongoimport的直接方式。

试试Runtime.exec()。示例代码:

  Runtime r = Runtime.getRuntime();
  Process p = null;
  String command = "mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv";
  try {
   p = r.exec(command);
   System.out.println("Reading csv into Database");

  } catch (Exception e){
   System.out.println("Error executing " + command + e.toString());
  }

有关详细信息,请查看此blog