1

我是 python 龙卷风框架的新手。我在 MongoDB 中有少量数据。我在我的 python 文件中使用了一个简单的 get 函数。BadYieldError使用该db.collection.find()选项时我得到一个。但db.collection.find_one()工作正常,但它只显示一条记录。

import tornado
import bson
from bson import json_util
from bson.json_util import dumps
class TypeList(APIHandler):
@gen.coroutine
def get(self):
    doc = yield db.vtype.find()
    self.write(json_util.dumps(doc))

错误是:

tornado.gen.BadYieldError: 产生未知对象 MotorCursor()

4

1 回答 1

6

find返回一个MotorCursor。让光标的fetch_next属性前进光标并调用next_object()以检索当前文档:

@gen.coroutine
def do_find():
    cursor = db.test_collection.find({'i': {'$lt': 5}})
    while (yield cursor.fetch_next):
        document = cursor.next_object()
        print document

有关使用 Motor's和的说明,请参阅教程部分查询多个文档findMotorCursor

于 2015-07-15T12:36:55.440 回答