А по какой логике/причине должны создаться два документа? У вас запрос просто который на всех документах установит значение поля, не больше. Откуда upsert будет знать сколько документов создать? Плюс я не нашел в доке синтаксиса где $set принимает массив