"Tutorial de introdução ao MongoDB" Capítulo 31 Importação e exportação de dados

Este artigo apresentará como usar a ferramenta mongoimport para importar arquivos para o servidor de banco de dados MongoDB local e como usar a ferramenta mongoexport para exportar dados no MongoDB para arquivos.

Ferramentas de banco de dados MongoDB

O MongoDB fornece uma variedade de ferramentas de banco de dados , incluindo:

  • Ferramentas binárias de importação/exportação mongodump, mongorestore e bsondump;
  • Ferramentas de importação/exportação de dados mongoimport e mongoexport;
  • Ferramentas de diagnóstico mongostat e mongotop;
  • Ferramentas GridFS mongofiles.

A partir do MongoDB 4.4, essas ferramentas de banco de dados não são mais distribuídas e instaladas com o servidor, mas usam pacotes separados.

Primeiro, selecione a versão, plataforma e formato de arquivo de instalação correspondentes na página de download .

insira a descrição da imagem aqui
Em seguida, execute o arquivo de instalação e siga as instruções para instalá-lo.

Ao mesmo tempo, também precisamos clicar para baixar o arquivo de exemplo movie.json .

Importar arquivos usando mongoimport

A ferramenta mongoimport pode importar arquivos JSON, CSV e TSV para o servidor MongoDB.

Primeiro, insira o diretório de instalação na linha de comando. O padrão da plataforma Windows é C:\Program Files\MongoDB\Tools\100\bin.

cd "C:\Program Files\MongoDB\Tools\100\bin"

Em seguida, execute o comando mongoimport para importar o arquivo movie.json para o servidor MongoDB:

mongoimport.exe D:\data\movies.json -d bookdb -c movies --drop

Entre eles, -d é usado para especificar o banco de dados de destino, -c é usado para especificar a coleção de destino e – drop significa que, se a coleção já existir, exclua-a e importe-a.

Depois que a importação for bem-sucedida, as seguintes informações serão exibidas:

2023-03-30T11:49:43.954+0800    connected to: mongodb://localhost/
2023-03-30T11:49:44.028+0800    dropping: bookdb.movies
2023-03-30T11:49:45.298+0800    3201 document(s) imported successfully. 0 document(s) failed to import.

Em seguida, conecte-se ao servidor MongoDB e consulte a coleção de filmes importados:

db.movies.countDocuments()
3201

db.movies.findOne()
{
    
    
  _id: ObjectId("642506d80e4683c5c14d7fa8"),
  Title: "Let's Talk About Sex",
  'US Gross': 373615,
  'Worldwide Gross': 373615,
  'US DVD Sales': null,
  'Production Budget': 300000,
  'Release Date': 'Sep 11 1998',
  'MPAA Rating': null,
  'Running Time min': null,
  Distributor: 'Fine Line',
  Source: null,
  'Major Genre': 'Comedy',
  'Creative Type': null,
  Director: null,
  'Rotten Tomatoes Rating': 13,
  'IMDB Rating': null,
  'IMDB Votes': null
}

Exportar arquivos usando mongoexport

A ferramenta mongoexport pode exportar o conteúdo do banco de dados MongoDB como arquivos JSON ou CSV.

Exporte os dados na instância do MongoDB

O comando a seguir é usado para exportar os dados de filmes da coleção no banco de dados MongoDB local bookdb na porta 27017 para o arquivo movie.json:

mongoexport.exe --collection=movies --db=bookdb --out=movies.json

Entre eles, –collection é usado para especificar a coleção a ser exportada, –db especifica o banco de dados onde a coleção está localizada e –out é usado para especificar o caminho e o nome do arquivo exportado.

Se você deseja exportar dados de uma instância remota do MongoDB, precisa especificar a string de conexão --uri, por exemplo:

mongoexport.exe --uri="mongodb://mongodb0.remote.server:27017/bookdb"  --collection=movies --out=movies.json

Além disso, também podemos especificar o endereço do servidor e a porta por meio dos parâmetros --host e --port. Por exemplo:

mongoexport.exe --host="mongodb0.remote.server" --port=27017 --collection=movies --db=bookdb --out=movies.json

Exportar os dados no conjunto de réplicas

Se você deseja exportar os dados no conjunto de réplicas, pode especificar o conjunto de réplicas e os membros na string de conexão --uri:

mongoexport.exe --uri="mongodb://mongodb0.remote.server:27017,mongodb1.remote.server:27017,mongodb2.remote.server:27017/bookdb?replicaSet=myReplicaSetName" --collection=movies --out=movies.json

Como alternativa, o conjunto de réplicas e os membros também podem ser especificados no parâmetro --host:

mongoexport.exe --host="myReplicaSetName/mongodb0.remote.server:27017,mongodb1.remote.server:27017,mongodb2.remote.server:27017" --collection=movies --db=bookdb --out=movies.json

Por padrão, o mongoexport lê os dados por meio do nó primário do conjunto de réplicas. No entanto, podemos modificar essa configuração especificando a prioridade de leitura. Por exemplo:

mongoexport.exe --uri="mongodb://mongodb0.remote.server:27017,mongodb1.remote.server:27017,mongodb2.remote.server:27017/bookdb?replicaSet=myReplicaSetName&readPreference=secondary" --collection=movies --out=movies.json

O comando acima lerá os dados dos nós escravos do conjunto de réplicas.

Como alternativa, você também pode especificar o nó de leitura por meio do parâmetro --readPreference:

mongoexport.exe --host="myReplicaSetName/mongodb0.remote.server:27017,mongodb1.remote.server:27017,mongodb2.remote.server:27017" --readPreference=secondary --collection=movies --out=movies.json

Exporte os dados no cluster fragmentado

Se você deseja exportar os dados no cluster de estilhaços, pode especificar o endereço da instância mongos na string de conexão --uri. Por exemplo:

mongoexport.exe --uri="mongodb://mongos0.remote.server:27017/bookdb" --collection=movies --out=movies.json

Ou você pode especificar o endereço e a porta da instância do mongos no parâmetro --host:

mongoexport.exe --host="mongos0.remote.server:27017" --collection=movies --db=bookdb --out=movies.json

Acho que você gosta

Origin blog.csdn.net/horses/article/details/129202158
Recomendado
Clasificación