Comportamento, acesso e uso de mongoexport
Nesta página
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.
DICAS
mongoexport
cria automaticamente conexões compatíveis com FIPS para um mongod
/mongos
configurado para usar o modo FIPS.
readPreference
Por padrão, o mongoexport
utiliza preferência de leitura primary
. Para substituir o padrão, você pode especificar a preferência de leitura na opção de linha de comando --readPreference
ou no --uri connection string
.
Se você especificar a preferência de leitura na string URI e o --readPreference
, o valor --readPreference
substituirá a preferência de leitura especificada na string URI.
Acesso necessário
mongoexport
requer acesso de leitura no banco de dados de destino.
Certifique-se de que o usuário em conexão possua, no mínimo, a função de read
no banco de dados de destino.
Ao conectar a um mongod
ou mongos
que força Autenticação, utilize os parâmetros de segurança exigidos com base no mecanismo de autenticação configurado.