Мы планируем использовать MongoDB _id в качестве ключа, который мы предоставим клиенту. Следовательно, требуется, чтобы этот ключ не изменялся, если нам когда-либо понадобится переместить данные из одной коллекции в другую. Копирование будет выполнено с использованием db.copyDatabase () или mongoimport.
Один из способов копирования данных из одной коллекции в другую - это перебор документов в первой коллекции (C1) и вставка этих документов во вторую коллекцию (C2). В этом случае _id должен оставаться таким же (в C2), потому что он будет присутствовать в документах (из C1), которые вставляются (так же, как и в случае, когда мы сами предоставляем _id).
Однако, если есть альтернативный способ копирования документов, _id может измениться, поскольку он зависит от:
(1) Временная метка UNIX (2) Идентификатор компьютера (3) ProcessId
(** Это должно произойти только в том случае, если MongoDB при копировании удаляет _id из документов в C1 и регенерирует их при вставке в C2?)
Мы хотим, чтобы значения _id были одинаковыми независимо от расположения целевой коллекции: (1) в одной базе данных (2) в другой базе данных - на одном компьютере (3) в другой базе данных - на другом компьютере)
Спасибо