需求
- 异步更新mongodb集合部分数据,motor官网给了两个方法:
replace_one和update_one,但到底用哪个呢?
区别
result = await coll.replace_one({'_id': _id}, {'name': 'value1'})
- replace_one,替换后仅保留设定的name字段值,集合原先的其他值将被replace无情的弄丢不见。
result = await coll.update_one({'i': 51}, {'$set': {'name': 'value1'}})
- update_one,更新后仅修改name字段值,集合原先的其他值不变化,好好的在那呢!
感言
- 我的天,只想更新一个name字段,结果code和i全没了,多么可怕!