Объект AsyncIOMotorLatentCommandCursor не является подписным

Я работаю с 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

Я уже много гуглил, но я не нашел решения, как извлечь результат из совокупного запроса, используя motor,

0 ответов

Вы должны ждать курсора или перебирать агрегат. Кроме того, внесите изменения в конвейер: это должен быть список.

Другие вопросы по тегам