Обновление нескольких отдельных столбцов из многих - PullRequest
0 голосов
/ 01 апреля 2019

Я новичок в MoongoDB, поэтому я не знаю много вещей об этом. Я использую студию 3T. Я создал коллекцию и дал всем доступ.

Мой текущий сценарий - у меня большие данные. Я импортировал записи 2М только с 5 полями. _Я бы Столбец А Колонка Б Колонна С Колонна Д

Теперь я хочу обновить 100К данных в этой большой коллекции БД, для этого у меня есть еще один CSV (CSV2) с двумя полями _id & Column A Если _id соответствует, обновите столбец A данными CSV2 и оставьте все поля нетронутыми (одинаковыми)

Если я импортирую CSV2 поверх больших данных, он переопределяет все 5 столбцов новыми данными CSV.

Есть ли способ выполнить эту задачу в MongoDB с использованием Studio3T или любого другого программного обеспечения?

Спасибо и С уважением Kishan

Я перепробовал много вариантов ... но безрезультатно. Я могу написать код для 1 обновления в MySQL, но обновление 100K данных там невозможно. Вот почему я установил MongoDB, думая, что это проще

1 Ответ

0 голосов
/ 02 апреля 2019

mongoimport с опцией merge поможет вам достичь ожидаемого результата.

С помощью --mode merge mongoimport позволяет объединять поля из новой записи ссуществующий документ в базе данных.Документы, которые не соответствуют существующему документу в базе данных, вставляются как обычно.По умолчанию mongoimport сопоставляет документы на основе поля _id.Используйте --upsertFields, чтобы указать поля для сравнения.

mongoimport -c collectionName -d databaseName  --type csv --mode merge --file CSV2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...