我正在尝试使用id上的条件从Python更新mongodb集合
比如,如果我在python数据帧中找到了匹配的\u id,我需要在collection中更新相应的文档 下面的脚本正在运行,但如果有太多的文档需要时间来执行,是否有任何有效的方法来处理这个问题。请给出建议
for document in db.AMTicketData.find():
for index, row in AMTicketData1.iterrows():
if(row['_id']==a['_id']):
db.AMTicketData.update_one({'_id': row['_id']},{'$set': {'Application_Name': row['Application_Name']}}, upsert=True)
break
我用了下面的批量操作代码,能够批量更新集合
bulk = db.AMTicketData.initialize_unordered_bulk_op()
for index, row in AMTicketData1.iterrows():
bulk.find({'_id':row['_id']}).update_one({'$set':{'Application_Name':row['Application_Name']}})
bulk.execute()
您可以尝试使用批量写入。您只需创建一个包含所有更新的数组,并使用collection.bulk\u写入(更新列表)
比如:
https://docs.mongodb.com/manual/core/bulk-write-operations/
相关问题 更多 >
编程相关推荐