我想使用--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. 從XML文件導入特定字段
- 2. 將大型JSON文件導入到mongo
- 3. 導入大型JSON文件到MongoDB的
- 4. 由於mongodb導致的特定字段
- 5. 將json文件導入到mongodb
- 6. 很多json文件導入到mongodb
- 7. 如何導入從Neo4j導出到D3的JSON文件
- 8. 將mongodb/mongodump中的集合的指定字段導出到文件
- 9. 在MongoDB中導入JSON或CSV文件
- 10. 從查詢導出特定的字段到可下載的csv文件
- 11. 在mongodb中導入我的json文件時出現錯誤
- 12. 將json的目錄導入到mongoDB中
- 13. 從SimpleDB導出到Mongo?
- 14. Mongodb導出嵌套字段
- 15. 將JSON導入到MONGODB
- 16. 從mongodb導出json數據到csv
- 17. Angular JS,從JSON文件導入一些特定的數據
- 18. Mongo:從集合中導出所有字段數據而不指定字段?
- 19. 如何從Java導入JSON文件到mongodb
- 20. 用mongo腳本導入JSON
- 21. Powershell AD:根據名稱的CSV輸入導出特定字段的CSV文件?
- 22. MongoDB中導入CSV文件
- 23. 將子圖(sideeffect)導出到json文件並導入圖中
- 24. 的MongoDB - 導入CSV到嵌套文件
- 25. 導出/導入bigtable的特定列族
- 26. 從CSV文件導出行到JSON
- 27. 從變量導出到JSON文件
- 28. 從JSON文件導入數據到R
- 29. 從URL導入JSON文件到R
- 30. 從特定文件夾導入模塊
嗨@Azzurio,你找到了一個不錯的解決方案?我也有同樣的問題。 Eric – elhostis