Mongodb“获取”键来更新其中的值

时间:2014-09-23 08:53:05

标签: mongodb pymongo

我有一个用户文档

bob = collection.find_one({'username':'bob'})

这会给我一个python词典,

print bob
>>{u'_id': ObjectId('542130bd43941e7878a8fa378'),
   u'likes': {},
}
type(bob)
>> dict

那我该如何做bob.update({'likes': {'sports':'football','movie':'terminator'}})

之类的事情

1 个答案:

答案 0 :(得分:0)

您错误地使用了update()update()更新集合中的文档。因此,您必须在集合中调用它,并将其传递给指定要更新的文档的字典,并使用$set修饰符修改您之前指定的文档中的某些字段。

像这样:

collection.update({'username': 'bob'}, {'$set': {'likes': {'sports': 'football', 'movie': 'terminator'}}})

请查看此处的文件,了解有关update()的更多有用信息,正如萨尔瓦多·达利已经提到的那样:

http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.update