我想使用--upsert
選項將導出的json文件導入到現有集合(同一個)中,但問題是我想只更新特定字段而不是所有數據。作爲一個例子,我已經收集名爲users
,我把它出口到users.json
,那麼我想導入此文件json
到具有相同集合另一個數據庫,但我想只是進口領域,如email
,username
& avatar
,這樣我就可以保持原樣的其他數據沒有任何改變。我該如何做這樣的事情?你有任何想法或快速解決這個問題?從導出的mongo json文件導入到MongoDB中的特定字段
0
A
回答
0
使用Python
import pymongo
import json
conn = pymongo.MongoClient()
collection = conn['db']['collection']
for doc in json.load(open('users.json')):
new_doc = {k: v for k, v in doc.iteritems() if k in ('email', 'username', 'avatar')}
collection.update({'_id': doc['_id']}, {'$set': new_doc})
0
限制你導出的字段可能是更好的方法。還有就是--fields
flag available in mongoexport
:
mongoexport --fields foo, bar, baz
將只出口_id
,foo
,bar
和baz
。
+0
那麼我在導入文件時如何合併這些字段呢? – Azzurrio
0
這裏是一個例子。第一個請求導出一個JSON文件。 第二個請求使用合併選項導入文件。
mongoexport --db mydb --collection mycollection --fields field1,field2 --query "add a query if necessary" > test.json
mongoimport --db mydb --collection mycollection --file test.json --mode merge
相關問題
- 1. 將大型JSON文件導入到mongo
- 2. 導入大型JSON文件到MongoDB的
- 3. 很多json文件導入到mongodb
- 4. 將json文件導入到mongodb
- 5. 從查詢導出特定的字段到可下載的csv文件
- 6. 將json的目錄導入到mongoDB中
- 7. 從SimpleDB導出到Mongo?
- 8. Angular JS,從JSON文件導入一些特定的數據
- 9. 如何從Java導入JSON文件到mongodb
- 10. 用mongo腳本導入JSON
- 11. 將子圖(sideeffect)導出到json文件並導入圖中
- 12. 的MongoDB - 導入CSV到嵌套文件
- 13. 從變量導出到JSON文件
- 14. 從URL導入JSON文件到R
- 15. 從JSON文件導入數據到R
- 16. 從文本文件中替換JSON中的特定字段
- 17. 如何從MongoDB中的集合中導出單個字段?
- 18. 從現有字段導出的JIRA中的自定義字段
- 19. Pymongo如何將json文件導入到mongodb中
- 20. MySQL的導出表到文本文件中的字段名
- 21. 從Java中的JSON文件中檢索特定的字段
- 22. 將未知編碼的文件從Python導入到MongoDB中
- 23. 如何將文件中的特定文本導入到excel中?
- 24. 導出和導入Parse.com中的文件
- 25. 只從svn倉庫導入特定的文件到git
- 26. 導入JSON文件
- 27. 如何將逗號分隔的JSON文檔導入到Mongodb中?
- 28. 從Outlook中的特定文件夾導入電子郵件
- 29. MongoDB的導入導出數據庫
- 30. MongoDB的導入和導出爲CSV
嗨@Azzurio,你找到了一個不錯的解決方案?我也有同樣的問題。 Eric – elhostis