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"]
Другие вопросы по тегам