【问题标题】:PyMongo $inc having issuesPyMongo $inc 有问题
【发布时间】:2013-06-07 21:58:47
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:
    pymongo == 2.7 
    campaign_id = bson.ObjectId(campaign_id)
    mongo_db.campaign.update({'_id': campaign_id}, {'$inc': {'item': 1}})
    

    【讨论】:

      【解决方案2】:

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

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

      您链接的 MongoDB 文档是通用 MongoDB 文档,不是 PyMongo 特定的;您不能按字面意思复制/粘贴它们并期望一切正常。

      【讨论】:

      • 我还应该补充一点,当使用 '$inc' 时,我需要在我希望它递增的数字周围使用 int():{'$inc': {'item': int( 1)}})
      猜你喜欢
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2020-10-05
      • 2013-12-31
      • 2017-10-21
      • 1970-01-01
      相关资源
      最近更新 更多