Вы не можете сделать это в одной команде обновления.
db.collection.update
оценивает каждый документ отдельно, без сохранения какого-либо состояния между документами. Это означает, что вы можете найти минимальное значение в массиве, содержащемся в документе, но вы не можете сравнить значение между документами.
Вы можете улучшить производительность вашего существующего запроса, создав индекс на {userEvent:1, purchasersMinimumPrice:1, _id:1}
, а также применить ограничение 6 на запрос, и проект только для _id. Вместе они позволят mongod найти 6 документов, соответствующих этому идентификатору с наименьшими значениями, и вернуть _id, необходимый для обновления без сортировки в памяти и без фактического просмотра документов, т.е. запрос полностью покрыт индекс.