0

如果我传递了无效行,则会引发异常。我希望它返回 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
4

1 回答 1

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"
于 2013-07-23T17:17:48.637 回答