У меня есть коллекция фильмов, в которой указано, сколько людей смотрели фильм в зависимости от их возраста. Примером может быть:
{
name : "Return of Jedi",
kids : 5,
adults : 10,
seniors : 3
}
Это означает, что «Возвращение джедая» посмотрели 5 детей, 10 взрослых и 3 пожилых человека.
Мне нужно вернуть рекомендацию фильмов на основе их рейтинга. Рейтинг рассчитывается как общее количество зрителей этого фильма, соответствующих запросу. Например. если у меня в семье дети и взрослые, ранг возвращения джедая будет 13 (#дети + #взрослые).
Может ли MongoDB сортировать по вычисляемым выражениям? Как? Если нет, то есть ли альтернатива?
Я думал решить эту проблему с помощью Aggregation Framework, добавив вычисляемое поле, а затем упорядочивая его. Но не будет ли это слишком ресурсоемким?