Я ищу способ обновить каждый документ в коллекции под названием "posts".
Посты периодически обновляются с популярностью (популярностью по всему сайту) и силой (предполагаемой релевантностью для конкретного пользователя), каждая из разных источников. Что мне нужно сделать, это умножить популярность и силу каждого поста, чтобы получить третье поле, релевантность. Релевантность используется для сортировки сообщений.
class Post
include Mongoid::Document
field :popularity
field :strength
field :relevance
...
Текущая реализация выглядит следующим образом:
1) Я отображаю / сокращаю до отдельной коллекции, в которой хранится идентификатор сообщения и вычисленная релевантность.
2) Я обновляю каждый пост отдельно с карты, уменьшаю результаты.
Это огромное количество отдельных запросов на обновление, и кажется глупым сопоставлять каждое сообщение с его собственным результатом (1-к-1) только для повторного обновления сообщения. Можно ли умножить на месте или сделать какую-то карту на месте?