MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Melhor maneira de mover a coleção do MongoDB para outra coleção


Você pode usar um MapReduce trabalho para isso.

MapReduce permite especificar uma coleção de saída para armazenar os resultados.

Quando você tem uma função de mapa que emite cada documento com seu próprio _id como chave e uma função de redução que retorna a primeira (e neste caso apenas porque os _id's são únicos) entrada do array de valores, o MapReduce é essencialmente uma operação de cópia do coleção de origem para a coleção de saída.

Código não testado:
db.runCommand(
           {
             mapReduce: "mongo_collection",
             map: function(document) {
                  emit(document._id, document);
             },
             reduce: function(key, values) {
                  return values[0];
             },
             out: {
                  merge:"mongo_his_collection"
             }
           }
         )