Подставление переменной на место ключа в объекте

Рейтинг: 0Ответов: 1Опубликовано: 22.04.2023

Работают с mongoose, и имеются небольшие проблемы.

Есть переменная

const name = interaction.options.getString('name')

Код

await mongo().then(async (mongoose) => {
  try {
    await personaSchema.findOneAndUpdate(
      { PerId: ID },
      { PerId: ID,
        $set: { name: newvalue },
      },
      { upsert: true }
    )
  }
  finally {
    mongoose.connection.close()
  }
})

На строке $set, необходимо что-бы ключ объекта (сейчас там написано name), равнялся значению из переменной name написанной ранее. Как это можно сделать?

Ответы

▲ 0Принят

Задать ключ из значения переменной можно, обернув переменную в квадратные скобки

const name = 'myKey';
const value = 'myValue';
const obj = {
  [name]: value
}
console.log(obj);

Более подробно про вычисляемые свойства объектов