newliver

newliver的博客

他的个人主页  他的博客

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

newliver  2010年08月16日 星期一 10:55 | 3279次浏览 | 0条评论

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}

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2024

京ICP备05028076号