Я использую Mongo DB через драйвер Mongo DB C #.
У меня есть коллекция с большим количеством документов, где у каждого документа есть идентификатор и версия.Документы довольно тяжелые.
У меня есть сценарий, в котором мне нужно клонировать несколько документов, и для каждого мне нужно увеличить версию и выполнить еще одно небольшое изменение.
Прямое решениечтобы загрузить каждый документ в память, измените его в коде C # и вставьте новый документ.
Проблема в том, что производительность не очень хорошая, поскольку каждый документ загружается, десериализуется, сериализуется и сохраняется.Есть ли более оптимизированный способ сделать это на стороне БД без загрузки в память?
Я читал об этапе агрегации out, который может выводить агрегированные документы в существующую коллекцию.Может ли это быть использовано для этого вопроса?
Редактировать: еще один возможный вариант хранится JavaScript, который, как я понимаю, обычно не рекомендуется, но это может быть подходящий сценарий.Будет ли это хороший путь?