我爲Mongo數據庫使用C#驅動程序,並且想要實現對加蓋集合的大小調整。我遵循這個answer的建議,建議使用臨時名稱創建一個新集合,從舊集合中複製文檔,刪除舊集合並重命名新集合。但我怎樣纔能有效地做到這一點?當前集合的大小是700Mb,複製所有數據需要花費相當多的時間。 我很可能會在運行服務器的機器上運行此代碼如何將大量文檔從一個集合有效地複製到另一個集合
1
A
回答
1
調整封頂集合大小的最有效方法仍然是創建一個新文檔,將文檔複製過來,然後重命名舊集合和如引用的answer中所述重新命名新的。
注意:只要確保在切換時沒有人插入/更新舊集合。如果您在db.eval(「....」)中運行該代碼,它將在運行時鎖定服務器。
1
但我怎麼能有效地做到這一點?
你真的不能。以前的答案來自Scott Hernandez,他是10gen的支持工程師(,該公司背後是MongoDB)。他知道MongoDB以及這個星球上的任何人,所以如果他的答案不起作用,你需要拿出完全不同的。
完全不同的東西...
嘗試通過代碼的解決方案。
創建一個新的封頂集合並修改您的代碼以寫入新集合,但要從新舊集合中讀取。它會稍微慢一點(你必須在寫之前檢查兩個集合)。但是最終你的所有數據都將在新的集合中,並且你可以停止從舊集合中讀取數據。
相關問題
- 1. 如何使用MongoDB有效地將數據從一個集合集合到另一個集合中?
- 2. 將前1000個文檔複製到另一個集合
- 3. Solr - 將文檔從一個集合遷移到另一個集合
- 4. 複製列表中的一個集合到另一個集合
- 5. 將數據從一個集合複製到另一個集合C#
- 6. .net集合:如何將對象從一個集合複製到另一個集合?
- 7. 在mongodb中,如何將文檔從集合複製到另一個集合中作爲某個鍵的值?
- 8. 將TFS集合複製到另一個集合
- 9. 通過Java API在MongoDB中將文檔從一個集合複製到另一個集合
- 10. 如何將一個集合從一個mongodb複製到另一個?
- 11. MongoDB - 將文檔從一個集合(輔助)移動(合併)到另一個(主)
- 12. 從另一個集合更新集合的有效方法
- 13. 從另一個集合中匹配的一個mongo集合中刪除文檔
- 14. LINQ查詢從一個集合到另一個集合
- 15. 如何使用PyMongo將索引從一個集合複製到另一個集合?
- 16. MongoDB如何將索引定義從一個集合複製到另一個集合?
- 17. 將文件從一個TFS項目集合複製到另一個
- 18. 如何將集合添加到Backbone中的另一個集合
- 19. Solr:將單個文檔移動到另一個集合
- 20. 如何將一個表從一個hbase集羣複製到另一個集羣?
- 21. Oracle PL/SQL - 如何使用Oracle集合將大量數據從一個表複製到另一個表
- 22. 將文檔庫文件夾從一個網站集合傳輸到另一個網站集合
- 23. 如何使用AutoMapper將一個集合映射到另一個集合?
- 24. 複製一個mongodb集合
- 25. 將通用集合的元素複製到C中的另一個集合中#
- 26. 使用Linq將數據從一個集合傳遞到另一個集合
- 27. 將團隊項目從一個集合移動到另一個集合
- 28. Linq將元素從一個集合中移除到另一個集合中
- 29. 將源代碼從一個集合遷移到另一個集合
- 30. Meteor.js將項目從一個集合移動到另一個集合