私はtongmongo libをmongoDBのドライバとして使用します。 限られたドキュメントでは、txmongoのfind関数は遅延のインスタンスを返しますが、実際の結果({"IP":11.12.59.119}など)を得るにはどうすればいいですか?私はyield、str()とrepr()を試しましたが動作しません。返されたインスタンスから値を取得する方法
def checkResource(self, resource):
""" use the message to inquire database
then set the result to a ip variable
"""
d = self.units.find({'$and': [{'baseIP':resource},{'status':'free'}]},limit=1,fields={'_id':False,'baseIP':True})
#Here above, how can I retrieve the result in this deferred instance??
d.addCallback(self.handleReturnedValue)
d.addErrback(log.err)
return d
def handleReturnedValue(self, returned):
for ip in returned:
if ip is not None:
d = self.updateData(ip,'busy')
return d
else:
return "NA"
あなたは値がhandleReturnedValueのHTTPSでアクセスできるように、コールバックを使用する必要があります。 com/documents/16.0.0/core/howto/defer.html –