Python Tornado/Motor上的聚合失败:生成未知对象MotorAggregationCursor
我在Tornado上执行MongoDB聚合操作时遇到问题。这是代码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
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)
就像医生说的