1

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 を使用しています) でも問題なく動作します。しかし、Python Tornado では、「yield」非同期操作を使用すると、次のように例外がスローされます。

yielded unknown object MotorAggregationCursor(<motor.core._LatentCursor object at 0x00000000042DEA58>)

何か案が?さらにデバッグする手がかりが不足しています...ありがとう

4

1 に答える 1