2015-12-28 61 views
2

我使用EclipseLink作爲mongodb的API。我需要每次從給定的csv文件更新我的數據庫。 有什麼辦法用java將CSV文件導入到MongoDB中? 還是有可能在Java環境中執行這樣的原始mongo命令?如何將csv文件導入到Java中的mongodb中

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

回答

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

--collection參數是可選。如果未通過,將創建一個文件名(不帶擴展名)的集合。在這種情況下,集合名稱將是「聯繫人」。

--headerline參數是可選的。指定--headerline指示mongoimport使用CSV文件中的第一行確定字段的名稱。可以指定--ignoreBlanks以忽略CSV中的空白字段。

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

+0

謝謝Manish。但我需要知道如何導入csv或在我的Java代碼中運行該命令 – shohreh

+0

該命令可以像執行任何其他可執行文件一樣通過java執行。您可以使用'ProcessBuilder'或'Runtime.exec()'來實現這一點。 – Manish

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瞭解更多詳情。