Дублировать качественно документы в MongoDB - PullRequest
0 голосов
/ 30 апреля 2019

Я хотел бы найти самый эффективный способ дублировать документы в MongoDB , учитывая, что я хочу взять пачку документов из существующей коллекции, обновить одно из их полей, сбросив _id длясгенерируйте новый и поместите их обратно в коллекцию для создания дубликатов.

Обычно это создает функцию "ветвления" в MongoDB, позволяющую пользователям изменять данные в двух отдельных ветвях.в то же время.

Я пробовал следующие вещи:

  1. На моем сервере получайте куски данных в нескольких потоках, изменяйте данные и вставляйте измененные данные с новым _idв базе

Это в основном работает, но производительность не очень хорошая (~ 20 с на 1 миллион элементов).

В будущей версии MongoDB (протестирована на версии 4.1.10) используйте новый механизм агрегирования $ out для вставки в ту же коллекцию

Это не похоже наработать и выдавать сообщение об ошибке "errmsg" : "$out with mode insertDocuments is not supported when the output collection is the same as the aggregation collection"

Есть идеи, как быть быстрее, чем первый подход?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...