我使用EclipseLink作爲mongodb的API。我需要每次從給定的csv文件更新我的數據庫。 有什麼辦法用java將CSV文件導入到MongoDB中? 還是有可能在Java環境中執行這樣的原始mongo命令?如何將csv文件導入到Java中的mongodb中
mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv
我使用EclipseLink作爲mongodb的API。我需要每次從給定的csv文件更新我的數據庫。 有什麼辦法用java將CSV文件導入到MongoDB中? 還是有可能在Java環境中執行這樣的原始mongo命令?如何將csv文件導入到Java中的mongodb中
mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv
mongoimport --db users --collection contacts --type csv --headerline --file /opt/backups/contacts.csv
--collection
參數是可選。如果未通過,將創建一個文件名(不帶擴展名)的集合。在這種情況下,集合名稱將是「聯繫人」。
--headerline
參數是可選的。指定--headerline
指示mongoimport
使用CSV文件中的第一行確定字段的名稱。可以指定--ignoreBlanks
以忽略CSV中的空白字段。
更多信息可在mongoimport
文檔here中找到。
在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瞭解更多詳情。
謝謝Manish。但我需要知道如何導入csv或在我的Java代碼中運行該命令 – shohreh
該命令可以像執行任何其他可執行文件一樣通過java執行。您可以使用'ProcessBuilder'或'Runtime.exec()'來實現這一點。 – Manish