我使用EclipseLink作为mongodb的API。我需要每次从给定的csv文件更新我的数据库。 有没有办法用java将CSV文件导入MongoDB? 或者是否可以在java环境中执行这样的原始mongo命令?
mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv
答案 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。