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 invólucros de tipo e os campos que por acaso têm o mesmo nome dos invólucros 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 o mongoexport para executar backups completos da instância, certifique-se de especificar Extended JSON v2.0 (modo canônico) com a opção --jsonFormat do mongoexport da seguinte forma:
mongoexport --jsonFormat=canonical --collection=<coll> <connection-string>
Se --jsonFormat não for especificado, mongoexport produzirá dados em Extended JSON v2.0 (modo relaxado) por padrão.
O mongoimport utilizará automaticamente o formato JSON localizado no arquivo de dados de destino especificado quando da restauração. Por exemplo, ele usará Extended JSON v2.0 (modo canônico) se o arquivo de exportação de dados de destino tiver sido criado por mongoexport com --jsonFormat=canonical especificado.
JSON Format
mongoimport exige que os dados de importação estejam em Extended JSON v2.0 (canônico) ou Extended JSON v2.0 (relaxado) por padrão. Para importar dados formatados usandoJSON v1.0 estendido, especifique a opção --legacy .
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éries temporais, você deve criar uma coleção de séries temporais antes de executar o mongoimport. mongoimport não suporta a criação automática de coleções de séries temporais. Para mais informações sobre como criar uma coleção, consulte createCollection().
Acesso necessário
Para se conectar a um mongod que impõe autorização com a opção --auth, você deve usar as opções --username e --password. O usuário que deseja se conectar deve ter, no mínimo, a função readWrite no banco de dados para o qual está importando dados.