“ AsyncIOMotorLatentCommandCursor”对象不可下标

时间:2019-08-29 06:33:36

标签: python mongodb sanic motorengine

我正在与motorclient一起工作,并且在下面的查询中我想获取某个用户的平均评分。

res = apps.db.rating.aggregate({
        "$group": {
            "_id": ObjectId(user_id),
            "avg_rating": {"$avg": "$rating"}
        }
    })

然后当我尝试提取该平均值时        print('avg rating', res['avg_rating'])

这会引发错误TypeError: 'AsyncIOMotorLatentCommandCursor' object is not subscriptable

我已经在Google上搜索了很多,但是我没有找到如何使用motor从聚合查询中提取结果的解决方案。

1 个答案:

答案 0 :(得分:0)

您应该等待光标或通过aggregate进行迭代。另外,对管道进行更改:它应该是一个列表。