【问题标题】:pymongo remove/update command returnspymongo 删除/更新命令返回
【发布时间】:2015-12-13 22:18:19
【问题描述】:

当我们在 mongodb 中删除或更新某些内容时,它会返回结果

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

我想知道如何访问 pymongo 中的这些字段以检查更新/删除是成功还是失败的天气。

【问题讨论】:

    标签: mongodb python-2.7 pymongo pymongo-3.x


    【解决方案1】:

    pymongo 3.0 之前的版本需要使用nModified 键访问修改文档的数量。

    In [19]: import pymongo
    
    In [20]: pymongo.version
    Out[20]: '2.8'
    
    In [21]: client = pymongo.MongoClient()
    
    In [22]: db = client.test
    
    In [23]: col = db.bar
    
    In [24]: col.insert({'a': 4})
    Out[24]: ObjectId('55fa5f890acf45105e95eab5')
    
    In [25]: n = col.update({}, {'$set': {'a': 3}})
    
    In [26]: n['nModified']
    Out[26]: 1
    

    从 pymongo 3.0 开始,您需要使用 modified_count 属性

    In [27]: n = col.update_one({}, {'$set': {'a': 8}})
    
    In [28]: n.modified_count
    Out[28]: 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多