如何使用pymongo更新值?

如何使用pymongo更新值?,第1张

如何使用pymongo更新值?

如果要将文档的值设置为任意值,可以使用$
set语法。如果该属性已经存在于文档中,则将更新值;如果不存在,则将创建该值。如果您需要像描述的那样在字典中设置单个值,则可以使用点表示法来访问子值。

如果p是检索到的对象:

existing = p['d']['a']

对于pymongo版本 <3.0

db.ProductData.update({  '_id': p['_id']},{  '$set': {    'd.a': existing + 1  }}, upsert=False, multi=False)

对于pymongo版本 > = 3.0

db.ProductData.update_one({  '_id': p['_id']},{  '$set': {    'd.a': existing + 1  }}, upsert=False)

但是,如果只需要增加该值,则当多个请求可以同时运行时,此方法可能会带来问题。相反,您应该使用$ inc语法

对于 <3.0的pymongo版本:

db.ProductData.update({  '_id': p['_id']},{  '$inc': {    'd.a': 1  }}, upsert=False, multi=False)

对于pymongo版本 > = 3.0:

db.ProductData.update_one({  '_id': p['_id']},{  '$inc': {    'd.a': 1  }}, upsert=False)

这样可以确保您的增量将始终如一。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存