pymongo remove之safe(如何检查删除是否成功)

pymongo remove之safe(如何检查删除是否成功)

# 删除一个条件不成立的查询,返回结果{u'err': None, u'n': 0L, u'ok': 1.0},其中dict中‘n’key值为0,通过'n'可以知道remove是否删除成功


In [25]: dt.remove({'pet':'dog','nickname':'user000'},safe=True) 
Out[25]: {u'err': None, u'n': 0L, u'ok': 1.0} 


In [26]: for i in dt.find():print i 
   ....: 
{u'pet': u'duck', u'_id': ObjectId('4c689f4e07fe861017000001'), u'nickname': u'user001', u'ukey': 287436516703862790L} 
{u'pet': u'chicken', u'_id': ObjectId('4c689f4e07fe861017000002'), u'nickname': u'user002', u'ukey': 287436516704124935L} 
{u'pet': u'cat', u'_id': ObjectId('4c689f4e07fe861017000003'), u'nickname': u'user003', u'ukey': 287436516704387080L} 
{u'pet': u'cow', u'_id': ObjectId('4c689f4e07fe861017000004'), u'nickname': u'user004', u'ukey': 287436516704387081L} 
{u'pet': u'snake', u'_id': ObjectId('4c689f4e07fe861017000005'), u'nickname': u'user005', u'ukey': 287436516743184394L} 


# 删除一个条件成立的查询,返回结果{u'err': None, u'n':1L, u'ok': 1.0},其中dict中‘n’key值为1 

In [28]: res = dt.remove({'pet':'duck','nickname':'user001'},safe=True) 

In [29]: res 
Out[29]: {u'err': None, u'n': 1L, u'ok': 1.0} 

如果不指定safe的值,默认safe=False,不返回错误及异常;如果指定safe=True,则可以看到它返回一个这样的dict = {u'err': None, u'n': 1L, u'ok': 1.0}

你可能感兴趣的:(pymongo remove之safe(如何检查删除是否成功))