Aviso
Conflitos de importação e exportação de dados com ($) e (.)
A partir do MongoDB 5.0, os nomes dos campo do documento podem ser prefixados com um caractere de dólar ($) e podem conter um caractere de ponto (.). No entanto, mongoimport e mongoexport não funcionarão com nomes de campo que usem esses caracteres.
O MongoDB Extended JSON v2 não consegue diferenciar entre os wrappers de tipo e os campos que por acaso têm o mesmo nome dos wrappers de tipo. Não use formatos JSON Estendidos em contextos onde as representações BSON correspondentes possam incluir$ chaves prefixadas (). O mecanismo DBRef é uma exceção a esta regra geral.
Também há restrições quanto ao uso de mongoimport e mongoexport com (.) em nomes de campos. Como os arquivos CSV usam o (.) para representar hierarquias de dados, um (.) em um nome de campo será interpretado incorretamente como um nível de aninhamento.
Comportamento
Tipo Fidelidade
Se você precisar preservar todos os tipos de dados BSON avançados ao usar mongoexport para executar backups completos da instância, especifique JSON2 0 estendido v. ( modo canônico) para a --jsonFormat opção:
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
Se você não --jsonFormat especificar, produzirámongoexport dados em JSON2 0 Estendido v. ( modo relaxado) por padrão.
mongoimport O utiliza automaticamente o formato JSON localizado no arquivo de dados de destino especificado ao restaurar. Por exemplo, se o arquivo de exportação de dados de destino foi criado por mongoexport com --jsonFormat=canonical especificado, ele usará o modo Canônico ).
JSON Format
mongoimport requer que os dados de importação estejam no formato JSON2 0 Estendido v. (Canônico) ou JSON2 0 Estendido v. (Relaxado) por padrão . Para importar dados formatados utilizando JSON Estendido v.,1 0especifique a --legacy opção.
Dica
Em geral, as versões do mongoexport e mongoimport devem corresponder. Ou seja, para importar dados criados a partir de mongoexport, você deve usar a versão correspondente de mongoimport.
Ordem do documento
Por padrão, mongoimport pode inserir documentos em uma ordem aleatória. Para preservar a ordem do documento durante o processo de restauração, use --maintainInsertionOrder.
Codificação
mongoimport suporta apenas ficheiro de dados codificados em UTF-8. Usar outras codificações produz erros.
DICAS
mongoimport cria automaticamente conexões compatíveis com FIPS para um mongod/mongos configurado para usar o modo FIPS .
Escreva preocupação
Se você especificar a preocupação de gravação na opção --writeConcern e na opção --uri connection string, o valor --writeConcern substituirá a preocupação de gravação especificada na string URI.
Lotes
mongoimport usa um tamanho máximo de lote de 100.000 para executar operações de inserção/upsert em massa.
Coleções de Time Series
Para importar dados de série temporal, você deve criar uma coleção de séries temporais antes de executar mongoimport. mongoimport não oferece suporte para criar coleções de séries temporais automaticamente. Para obter mais informações sobre como criar uma coleção, consulte createCollection().
Comportamento de falha
Se mongoimport falhar, ele poderá deixar o sistema em um estado inconsistente em que apenas alguns dos dados foram importados, mas não todos. Após uma falha, exclua todos os dados importados e execute novamente o processo desde o início.
Acesso necessário
Para se conectar a um mongod que impõe a autorização com a opção --auth, você deve usar as opções --username e --password. O usuário conectado deve ter, no mínimo, a função readWrite no banco de dados para o qual está importando dados.