Python Tornado/Motor上的聚合失败:生成未知对象MotorAggregationCursor

Python Tornado/Motor上的聚合失败:生成未知对象MotorAggregationCursor,python,mongodb,mongodb-query,aggregation-framework,tornado-motor,Python,Mongodb,Mongodb Query,Aggregation Framework,Tornado Motor,我在Tornado上执行MongoDB聚合操作时遇到问题。这是代码 pipeline = [ {'$match': { '$or': [ {'owner.id': '56dfdaa4082024b9384c0055'}, {'members.top.member.id':'56dfdaa4082024b9384c0055'} ] }}, {'$sort': {'date_s': -1}}, {'$sk

我在Tornado上执行MongoDB聚合操作时遇到问题。这是代码

pipeline = [
   {'$match': {
       '$or': [
           {'owner.id': '56dfdaa4082024b9384c0055'},
           {'members.top.member.id':'56dfdaa4082024b9384c0055'}
       ]
   }},
   {'$sort': {'date_s': -1}},
   {'$skip': 0},
   {'$limit': 20},
   {'$project':{
      'created_at': 1,
      'name': 1,
      'id': '$_id',
      'group.group_id': 1,
      '_id': 0,
      'permission': 1,
      'owner': 1,
      'type': 1,
      'members.total': 1,
      'desc': 1,
      'declared': 1
  }}
]
cursor = yield db.activities.aggregate(pipeline)
同样的命令在MongoDB管理工具上运行得非常好(我使用的是MongoChef)。但是在PythonTornado上,使用“yield”异步操作,它抛出异常作为

yielded unknown object MotorAggregationCursor(<motor.core._LatentCursor object at 0x00000000042DEA58>)
生成了未知对象MotorAggregationCursor()
有什么想法吗?我缺少进一步调试的线索。。。谢谢

实际的方法本身不是“异步的”。但是游标迭代是不正确的

因此:

cursor = db.activities.aggregate(pipeline)
while (yield cursor.fetch_next):
    doc = cursor.next_object()
    print(doc)
就像医生说的