MongoDB - клонирование нескольких документов с небольшими изменениями - PullRequest
0 голосов
/ 23 мая 2019

Я использую Mongo DB через драйвер Mongo DB C #.

У меня есть коллекция с большим количеством документов, где у каждого документа есть идентификатор и версия.Документы довольно тяжелые.

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

Прямое решениечтобы загрузить каждый документ в память, измените его в коде C # и вставьте новый документ.

Проблема в том, что производительность не очень хорошая, поскольку каждый документ загружается, десериализуется, сериализуется и сохраняется.Есть ли более оптимизированный способ сделать это на стороне БД без загрузки в память?

Я читал об этапе агрегации out, который может выводить агрегированные документы в существующую коллекцию.Может ли это быть использовано для этого вопроса?

Редактировать: еще один возможный вариант хранится JavaScript, который, как я понимаю, обычно не рекомендуется, но это может быть подходящий сценарий.Будет ли это хороший путь?

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