如何返回NULL而不是Pymongo的异常

时间:2013-07-23 17:05:39

标签: python mongodb

如果我传递了无效行,则会抛出异常。我希望它返回NULL,以便我可以使用它来进一步处理我的其余脚本。

module_id = module_id

mongo_document = mongo_collection.find_one({ '_id': '%s' % module_id}, { '_id':0, 'svn_path':1 })
myvar = mongo_document
for key, value in myvar.iteritems():
    print value

1 个答案:

答案 0 :(得分:1)

实际上你的问题不在find_one函数中。当你要求一个不存在的值时,它会向python返回一个None值,我猜你的异常实际上是在for循环中。所以我会做那样的事情:

module_id = module_id

mongo_document = mongo_collection.find_one({ '_id': '%s' % module_id}, { '_id':0, 'svn_path':1 })
myvar = mongo_document
if myvar is not None:
   for key, value in myvar.iteritems():
       print value
eilf:
   print "sorry i could find that id"