Esta página mostra exemplos para mongoexport.
Execute mongoexport na linha de comando do sistema, não no shell mongo.
Exportar em Formato CSV
Exportar dados em formato CSV usando a --fields opção
No exemplo seguinte, o mongoexport exporta dados da collection contacts no banco de dados do users no formato CSV para o arquivo /opt/backups/contacts.csv.
A instância mongod à qual mongoexport se conecta está sendo executada na porta localhost número 27017.
Ao exportar no formato CSV, você deve especificar os campos nos documentos para exportar. A operação especifica os campos name e address para exportar.
mongoexport --db=users --collection=contacts --type=csv --fields=name,address --out=/opt/backups/contacts.csv
A saída seria então semelhante a:
name, address Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street
Use um arquivo para especificar os campos a serem exportados em formato CSV
Somente para exportações CSV, você também pode especificar os campos em um arquivo contendo a lista de campos a serem exportados separados por linhas. O arquivo deve ter apenas um campo por linha.
Por exemplo, você pode especificar os campos name e address em um arquivo fields.txt:
name address
Em seguida, usando a opção --fieldFile , especifique os campos a exportar com o arquivo:
mongoexport --db=users --collection=contacts --type=csv --fieldFile=fields.txt --out=/opt/backups/contacts.csv
Excluir nomes de campo da saída do CSV
A opção --noHeaderLine pode ser utilizada para excluir nomes de campo em uma exportação CSV. O exemplo a seguir exporta os campos name e address da coleção contacts no banco de dados users e usa --noHeaderLine para suprimir a saída dos nomes dos campo como a primeira linha:
mongoexport --db=users --collection=contacts --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/contacts.csv
A saída CSV pareceria com isto:
Sophie Monroe, 123 Example Road Charles Yu, 345 Sample Street
Exportar em Formato JSON
Este exemplo cria uma exportação da coleção contacts da instância do MongoDB em execução no número da porta localhost 27017. Isto grava a exportação para o arquivo contacts.json no formato JSON.
mongoexport --db=sales --collection=contacts --out=contacts.json
Exportar do Host Remoto em Execução com Autenticação
O exemplo seguinte exporta a coleção contacts no banco de dados marketing a partir de uma instância remota MongoDB que exige autenticação.
Especifique o:
Dica
Omita a opção --password para que mongoexport solicite a senha:
mongoexport --host=mongodb1.example.net --port=27017 --username=someUser --authenticationDatabase=admin --collection=contacts --db=marketing --out=mdb1-examplenet.json
Alternativamente, você utiliza a opção --uri para especificar o host, porta, nome de usuário, banco de banco de dados de autenticação e db.
Dica
Omita a senha na string do URI para que mongoexport solicite a senha:
mongoexport --uri='mongodb://someUser@mongodb0.example.com:27017/marketing?authsource=admin' --collection=contacts --out=mdb1-examplenet.json
Exportar Resultados da Query
Você pode exportar somente os resultados de uma query fornecendo um filtro de query com a opção --query e limitar os resultados a um único banco de dados usando a opção "--db".
Por exemplo, o comando retorna todos os documentos na coleção {1 sales do banco de dados contacts que contêm um campo chamado dept igual a "ABC" e o campo date maior ou igual a ISODate("2018-01-01") (usando o formato canônico para datas { "$date": "YYYY-MM-DDTHH:mm:ss.mmm<offset>"} )
mongoexport --db=sales --collection=contacts --query='{"dept": "ABC", date: { $gte: { "$date": "2018-01-01T00:00:00.000Z" } }}'
Você deve colocar o documento de query entre aspas simples ('{ ... }') para garantir que ele não interaja com seu ambiente de shell.
Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
Novidades na versão 100.1.0.
Para conectar a um agrupamento do MongoDB Atlas que foi configurado para suportar autenticação via Amazon Web Services Credenciais IAM, forneça um connection string a mongoexport semelhante ao seguinte:
mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
A conexão ao Atlas usando credenciais AWS IAM dessa maneira usa o MONGODB-AWS authentication mechanism e o $external authSource, como mostrado neste exemplo.
Se estiver usando um token de sessão da AWS, forneça-o também com o valor AWS_SESSION_TOKEN authMechanismProperties, como segue:
mongoexport 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
Observação
Se o ID da chave de acesso da AWS, a chave de acesso secreta ou o token de sessão incluírem os seguintes caracteres:
: / ? # [ ] @
esses caracteres devem ser convertidos usando codificação percentual.
Como alternativa, a ID da chave de acesso da AWS, a chave de acesso secreta e, opcionalmente, o token de sessão podem ser fornecidos fora da string de conexão usando as opções --username, --password e --awsSessionToken, desta forma:
mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
Quando fornecidos como parâmetros da linha de comando, estas três opções não exigem codificação percentual.
Você também pode definir essas credenciais em sua plataforma usando variáveis de ambiente padrão do Amazon Web Services IAM. mongoexport verifica as seguintes variáveis de ambiente quando você usa o MONGODB-AWS authentication mechanism:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN
Se definidas, essas credenciais não precisam ser especificadas na connection string ou por meio de suas opções explícitas.
Observação
Se você optar por usar as variáveis de ambiente da AWS para especificar esses valores, não poderá combinar e corresponder com as opções explícitas ou de cadeia de conexão correspondentes para essas credenciais. Use as variáveis de ambiente para ID de chave de acesso e chave de acesso secreta (e token de sessão, se usado) ou especifique cada uma delas usando as opções explícitas ou de cadeia de conexão.
O exemplo a seguir define essas variáveis de ambiente no shell bash :
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
A sintaxe para definir variáveis de ambiente em outros shells será diferente. Consulte a documentação da sua plataforma para obter mais informações.
Você pode verificar se essas variáveis de ambiente foram definidas com o seguinte comando:
env | grep AWS
Depois de definido, o exemplo a seguir se conecta a um MongoDB Atlas cluster usando estas variáveis de ambiente:
mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>