Замените ObjectId(‘11111111’) на ObjectId(‘2222222’) в любом случае

#mongodb

Вопрос:

У меня есть коллекция mongo, в которой на любой глубине или в элементах массива может встречаться значение ObjectId(‘11111111’) в качестве значения. Мне нужно везде заменить его на ObjectId(‘2222222’). Есть ли простой способ сделать это в монго?

Комментарии:

1. Вы можете использовать aggregate, если у вас есть массив, который нужно изменить, вы можете использовать $match, а затем $in, чтобы один раз объединить монго.

Ответ №1:

Сбросьте коллекцию в расширенный json, откройте дамп в текстовом редакторе, замените значения, затем загрузите дамп обратно в базу данных.

Комментарии:

1. Большое вам спасибо! Ты сэкономил мне много времени. Я боролся с этими бесконечными вложенными элементами массива, пытаясь не помещать знак $ в неправильное место набора$, но ваше решение спасло меня от любых ошибок. Очень признателен!