mongodb - pymongo 删除/更新命令返回

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

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

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

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

最佳答案

在 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

关于mongodb - pymongo 删除/更新命令返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32623665/

相关文章:

mongodb - 如何在 mongoDB 中投影字段?

python pdfkit : increase font size

python - “模块”对象没有属性 'PY2'

python - 如何在python中将mongoDB objectID转换为字符串

mongodb - 如何在 Mongo 中计算 future 的数据库大小?

ruby-on-rails-3 - Mongoid 与设计的关系

node.js - Mongoose 更新数据信息,如何防止覆盖

python - 如何在事件回调之间保持 python 生成器的状态

python - 如何过滤字典值(在另一个字典中)

python - 使Spark,Python和MongoDB协同工作