প্রতিদিন, আমি দস্তাবেজের একটি স্টক (একটি আপডেট) পাই। আমি যা করতে চাই তা হ'ল প্রতিটি আইটেম alreadyোকানো যা ইতিমধ্যে বিদ্যমান নেই।
- আমি প্রথমবার এগুলি sertedোকানোর সময় এবং সর্বশেষবার যখন তাদের একটি আপডেটে দেখেছিলাম তখনও আমি তার নজর রাখতে চাই।
- আমি নকল নথি থাকতে চাই না।
- আমি পূর্বে সংরক্ষিত কোনও দস্তাবেজ সরাতে চাই না, তবে আমার আপডেটে নেই।
- 95% (আনুমানিক) রেকর্ডগুলি দিনে দিনে অশোধিত হয়।
আমি পাইথন ড্রাইভার (পাইমোঙ্গো) ব্যবহার করছি।
আমি বর্তমানে যা করছি তা হ'ল (সিউডো-কোড):
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)
আমার সমস্যাটি হ'ল এটি খুব ধীর (100 000 রেকর্ডেরও কম রেকর্ডের জন্য 40 মিনিট, এবং আপডেটে আমার মিলিয়ন রয়েছে)। আমি নিশ্চিত যে এটি করার জন্য কিছু অন্তর্নির্মিত আছে তবে আপডেটের জন্য নথিটি এমএমএমএইচ .... কিছুটা পরিশ্রমী .... ( http://www.mongodb.org/display/DOCS/Updating )
কেউ কীভাবে দ্রুত এটি করতে পরামর্শ দিতে পারেন?