我有一个这种形式的 mongodb 集合:
{id=ObjectId(....),key={dictionary of values}}
where dictionary of values is {'a':'1','b':'2'.....}
设值字典为'd'
。我需要更新'd'
. 即我想更改'a':'1'
为'a':'2'
我如何在 pymongo 中执行此操作?
代码是这样的:
productData is a collection in mongoDB
for p in productData.find():
for k,v in p.iteritems():
value=v['a']
value=value+1
v['a']=value
现在在 productData 中反映新值。
这是我尝试过的,它引入了一个新的键值对而不是更新
for p in productData.find():
for k,v in p.iteritems():
value=v['a']
value=value+1
v['a']=value
productData.update({'_id':mongoId},{"$set":{'d.a':'100'}},upsert=False)