2015-09-17 2 views
1

Когда мы что-то удалить или обновить что-то в mongodb.It возвращает как результатPyMongo удалить/обновить команду возвращает

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

Я хочу знать, как получить доступ к этим полем в PyMongo проверить погоду обновления/удаления было sccess или failure.

ответ

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 
Смежные вопросы