PyMongo $ inc有问题

时间:2013-06-11 21:53:36

标签: python mongodb pymongo

当尝试使用$ inc时,我收到一个语法错误,指出$ set是错误的。我的查询如下:

mongo_db.campaign.update({'_id': str(campaign_id)}, { $inc: { 'item': 1 } }):

我已经看过mongo文档(http://docs.mongodb.org/manual/reference/operator/inc/)和其他关于SO的例子,但我找不到什么问题。有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:12)

$inc不是有效的Python标识符。您应该将其作为字符串传递,就像其他所有内容一样:

mongo_db.campaign.update({'_id': str(campaign_id)}, {'$inc': {'item': 1}})

您链接的MongoDB文档是一般的MongoDB文档,而不是特定于PyMongo的文档;你不能从字面上复制/粘贴它们并期望它们起作用。

答案 1 :(得分:-3)

pymongo == 2.7 
campaign_id = bson.ObjectId(campaign_id)
mongo_db.campaign.update({'_id': campaign_id}, {'$inc': {'item': 1}})