我有一个数据库。 在那里我想查看已插入的所有条目。 为此我做了一条路线' / db'并将以下RequestHandler添加到其中。
class dbHandler(RequestHandler):
@gen.coroutine
def get(self):
db = self.settings['db']
result = yield db.ip.find()
for res in result:
self.write(res)
当我打开/ db route时,这给了我错误505。 如何获取ip的数据?
答案 0 :(得分:1)
马达find
仅返回光标,而不是Future
- 它不能被屈服。您可以使用fetch_next
对其进行迭代,或使用to_list
获取更多数据(或docs中的更多信息)。某种例子
@gen.coroutine
def get(self):
db = self.settings['db']
cursor = db.ip.find()
res = yield cursor.to_list(length=100)
self.write(res)
答案 1 :(得分:0)
电机是异步的。为了获得像async.waterfall
这样的数据库操作的结果,你必须find
它返回的Future来将Future解析为结果:
yield
有关详细信息,请参阅教程:
http://motor.readthedocs.org/en/stable/tutorial-tornado.html#querying-for-more-than-one-document