毎日、ドキュメントのストックを受け取ります(更新)。私がやりたいことは、まだ存在していない各アイテムを挿入することです。
- また、それらを最初に挿入したときと、更新で最後に見たときも追跡したいと思います。
- 重複したドキュメントが欲しいのですが。
- 以前に保存したドキュメントを削除したくありませんが、更新には含まれていません。
- レコードの95%(推定)は、毎日変更されていません。
Pythonドライバー(pymongo)を使用しています。
私が現在行っているのは(疑似コード)です。
for each document in update:
existing_document = collection.find_one(document)
if not existing_document:
document['insertion_date'] = now
else:
document = existing_document
document['last_update_date'] = now
my_collection.save(document)
私の問題は、それが非常に遅いということです(10万レコード未満の場合は40分、更新には何百万ものレコードがあります)。これを行うために何かが組み込まれていると確信していますが、update()のドキュメントはmmmhhh ....少し簡潔です...(http://www.mongodb.org/display/DOCS/Updating)
誰かがそれをより速く行う方法をアドバイスできますか?