Задать вопрос
Grapeoff
@Grapeoff
В чём концепция...?

Как в MongoDB сменить тип данных поля String на [String], при этом сохранив предыдущие данные?

У меня есть поле с номером телефона phone. Сейчас там может храниться только один номер телефона. Но теперь нам надо хранить несколько номеров телефона, и мне нужно как-то написать миграцию для всего этого.

Я попробовал

db.Clients.updateMany({}, {$set: { phones:  ["$phone"] } })

Но вместо того чтобы подставить в массив первым элементом значение из поля phone, он просто подставил туда эту строку.
  • Вопрос задан
  • 250 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Skillbox
    Курс Java-разработчик
    4 месяца
    Далее
  • Merion Academy
    Курс по NoSQL. Нереляционные базы данных
    1 месяц
    Далее
Решения вопроса 1
lssssssssssl
@lssssssssssl
db.Clients.find({}).forEach(el => {
    db.Clients.updateOne({ _id: el._id }, { $set: { phone: [el.phone] }})
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы