pymongo remove / update命令返回

时间:2015-09-17 06:15:25

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

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

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

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

1 个答案:

答案 0 :(得分:2)

在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