MongoID 5 Агрегации: NoMethodError: неопределенный метод `[]'для Агрегации
После обновления до MongoID 5 я получаю эту ошибку: NoMethodError: неопределенный метод `[]'для #
Код выглядит так:
result = ::Presentation::Interaction.collection.aggregate(
[
user_match_criterias_live(conference),
::Presentation::ReportGenerator::DELCOUNTRY_AGGREGATION
]
)
return 0 if (result.count < 1)
return result[0]["total"]
Таким образом, агрегат уже использует массив в качестве аргумента.
1 ответ
Решение
После проверки того, что содержит результат, я понял, что он не отвечает на []. Тем не менее, он отвечает на.first
Код будет выглядеть так
result = ::Presentation::Interaction.collection.aggregate(
[
user_match_criterias_live(conference),
::Presentation::ReportGenerator::DELCOUNTRY_AGGREGATION
]
)
return 0 if (result.count < 1)
return result.first["total"]