如何在Java中将csv文件导入mongodb
我使用EclipseLink作为mongodb的API。我需要从给定的csv文件每次更新我的数据库。 有没有办法用java将CSV文件导入MongoDB? 或者可以在java环境中执行这样的原始mongo命令吗如何在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
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());
}