前言
在日常开发中,MongoDB作为一种灵活高效的NoSQL数据库,深受开发者喜爱。然而,如何高效地进行数据的批量插入和更新,却常常让人头疼。今天,我们将一起探讨如何使用MongoDB的bulk_write方法,简化我们的数据管理流程,让代码更加简洁高效。
常规做法:find、insertone、updateone
在处理批量数据插入和更新时,很多开发者可能会首先想到使用find、insertone、updateone这些基础操作。这种方式虽然直观,但当面对大量数据时,效率并不理想。以下是一个简单的示例:
async def update_cities(cities, mongo_db=None):
collection = mongo_db['city_table']
for city in cities:
existing_city = await collection.find_one({'Code': city['Code']})
if existing_city:
await collection.update_one({'Code': city['Code']}, {'$set': city})
else:
await collection.insert_one(city)