2016-11-20 40 views
1

我試圖更新我的集合中每個文檔中的一個字段,使用包含-upsert的csv和Mongoimport。 但是,該過程將刪除文檔中的所有其他字段。MongoDB:使用MongoImport和csv只更新單個字段

我有一個藏書有像證件:

{ 

    "_id" : "knOIv8ZUUK", 
    "Price" : 2.2, 
    "Title" : "Rats Ahoy" 
} 

{ 

    "_id" : "okYEGuWznv", 
    "Price" : 3.3, 
    "Title" : "Friendly Fish" 
} 

csv文件:

_id,Price 

knOIv8ZUUK,2.2 

okYEGuWznv,3.3 

和進口使用:

mongoimport --db local --collection Books --upsert --type csv 
      --headerline --file c:\import\newPrice 

有了結果刪除標題字段

{ 

    "_id" : "knOIv8ZUUK", 
    "Price" : 2.2 
} 

{ 

    "_id" : "okYEGuWznv", 
    "Price" : 3.3 
} 

我錯誤地認爲Upsert會更新導入的字段。 那麼是否有另一個過程可以用來更新大量文檔中的1個字段? 感謝

+0

嗨@MarkM,分別爲你能解決嗎?如果你是,請分享解決方案。謝謝! –

回答

0

新功能已經從3.4版本Documentation here.

檢查添加此選項

--mode insert|upsert|merge 

你的情況,你可以使用這個可能是:

--mode merge 
相關問題