2013-05-04 45 views
3

我想寫一個函數來做一個批量保存到mongoDB使用pymongo,有沒有辦法呢?我已經嘗試過使用插入,它適用於新記錄,但它在重複上失敗。我需要使用保存但具有文檔集合的相同功能(它使用相同的_id替換已添加的文檔而不是失敗)。是否有一個pymongo(或另一個Python庫)批量保存?

在此先感謝!

+0

有你看了命令行工具,並發現他們想要? http://docs.mongodb.org/manual/core/import-export/ – hughdbrown 2013-05-04 23:16:17

+0

我想你想問的問題是,如果在Mongo中存在批量保存,而不是專門針對pymongo? – 2013-05-05 18:37:43

回答

1

,您可以使用批量插入與選項W = 0(如安全=假),但你應該做一個檢查,看看是否所有文件實際上是插入,如果這是重要的,你

+0

不符合OP的要求 - 它仍然會在存在的文檔上失敗。真正的答案是「你不能通過多個文檔來保存」 – 2013-05-05 00:40:27

+0

不,它不會失敗: 試試這個: yourClient.db.collection.insert([{'_ id':i} for i in range 0,100)],w = 0) ,然後第二次不會失敗 – nickmilon 2013-05-05 02:06:01

+0

當然,它會失敗 - 這意味着新文檔不會保存在舊文檔的值上。 OP希望使用相同的_id替代已添加的文檔的功能不會默默無法替換它! – 2013-05-05 02:28:32

相關問題