Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将csv文件导入mongodb_Java_Mongodb_Csv_Eclipselink - Fatal编程技术网

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

如何在Java中将csv文件导入mongodb,java,mongodb,csv,eclipselink,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 --集合参数是可选的。如果未传递,将创建具有文件名(不带扩展名)的集合。在这种情况下,集合名称将为“cont

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

mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv
--集合
参数是可选的。如果未传递,将创建具有文件名(不带扩展名)的集合。在这种情况下,集合名称将为“contacts”

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

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


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

在Java驱动程序中没有直接的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());
  }

有关更多详细信息,请查看此链接。

谢谢Manish。但我需要知道如何导入csv或在Java代码中运行该命令该命令可以像通过Java执行任何其他可执行文件一样执行。您可以为此使用
ProcessBuilder
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());
  }