Как я могу обновить массив не зная точного ключа? Например пользователь указывает key2, как без shitcode сделать чтобы скрипт понимал что это key2 а не какой либо другой ключ?
nyansterowo, я же показал передавай строку в квадратные скобки с наименованием ключа. Если такого нет будет создан, если есть значение в нем будет изменено
const category = //твой объект категорий
// где-то тут можно как раз проверку на массив сделать
category[`${key}`][0] = 1
Statistic.findOneAndUpdate({ id: 123 }, { '$set': { category } })