Começando a Trabalhar com MongoDB no Windows

Instalando o Servidor MongoDB

O site oficial oferece pacotes de distribuição para várias plataformas: Windows, Linux, MacOS e Solaris. Para cada plataforma, há diversas distribuições disponíveis, sendo que existem dois tipos de servidores: a versão gratuita Community e a versão paga Enterprise. Neste guia, usaremos a versão gratuita Community.

Para instalar o MongoDB, baixe um dos pacotes distribuídos no site oficial https://www.mongodb.com/try/download/community.

Escolha o sistema operacional e o tipo de pacote adequado para baixar todos os arquivos necessários. Vamos considerar a instalação no Windows como exemplo.

O MongoDB pode ser baixado em várias formas. Para Windows, está disponível como um instalador msi ou como um arquivo zip. Na prática, basta baixar o arquivo zip e descompactá-lo na pasta desejada. Portanto, optaremos por este método (embora o instalador msi também possa ser utilizado):

Baixando o MongoDB para Windows

Se já houver uma versão anterior do MongoDB instalada, será necessário removê-la antes de prosseguir.

Após baixar o pacote zip, descompacte-o na pasta C:\mongodb.

Se abrir a pasta bin dentro do diretório descompactado (C:\mongodb\bin), encontrará vários aplicações que desempenham funções específicas. Vamos dar uma olhada rápida neles.

Aplicações do MongoDB
  • mongod: o servidor de banco de dados MongoDB. Ele processa solicitações, gerencia o formato dos dados e realiza várias operações em segundo plano para administrar os bancos de dados.

  • mongos: um serviço de roteamento MongoDB que ajuda a processar solicitações e a determinar a localização dos dados em um cluster MongoDB.

Criando um Diretório para o Banco de Dados e Iniciando o MongoDB

Após a instalação, é necessário criar um diretório no disco rígido para armazenar os bancos de dados do MongoDB.

No Windows, o MongoDB armazena os bancos de dados no caminho padrão C:\data\db. Portanto, se estiver usando o Windows, crie esse diretório.

Se precisar usar um caminho diferente, pode especificá-lo ao iniciar o MongoDB com a flag --dbpath.

Depois de criar o diretório para armazenamento, pode iniciar o servidor MongoDB. O servidor é representado pela aplicação mongod, que está localizada na pasta bin do diretório do servidor. Para isso, abra o terminal ou prompt de comando e insira os comandos apropriados. No Windows, isso ficará assim:

C:\Users\programicio>C:\mongodb\bin\mongod

{"t":{"$date":"2024-08-04T18:57:42.687-03:00"},"s":"I",  "c":"NETWORK",  
"id":4915701, "ctx":"thread1","msg":"Initialized wire specification",
"attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,
"maxWireVersion":21},"incomingInternalClient":{"minWireVersion":0,
"maxWireVersion":21},"outgoing":{"minWireVersion":6,
"maxWireVersion":21},"isInternalClient":true}}}
{"t":{"$date":"2024-08-04T18:57:42.692-03:00"},"s":"I",  "c":"CONTROL",  
"id":23285,   "ctx":"thread1","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}

O prompt de comando exibirá uma série de informações de serviço, como a inicialização do servidor no localhost na porta 27017.

Após a inicialização bem-sucedida do servidor, você poderá realizar operações no banco de dados por meio de um cliente.

Instalando o Cliente Mongosh

Até agora, instalamos o servidor MongoDB. No entanto, para interagir com o servidor, precisamos de um cliente. O cliente mais simples, neste caso, é o MongoDB Shell ou mongosh, que é uma interface de linha de comando para enviar solicitações ao servidor, fornecida diretamente pela MongoDB.

Para instalar o cliente, acesse https://www.mongodb.com/try/download/shell.

Baixando o cliente do MongoDB para Windows

Novamente, você poderá escolher a versão do cliente para diferentes sistemas operacionais. Para Windows, o pacote do cliente está disponível como um arquivo zip. Baixe esse pacote e descompacte-o na pasta C:\mongosh.

Se abrir a pasta bin no diretório descompactado (C:\mongosh\bin), encontrará a utilidade de console mongosh, que será usada para interagir com o servidor MongoDB:

Aplicações do cliente MongoDB Shell

Conectando ao Servidor a partir do Cliente

Usaremos o cliente mongosh instalado anteriormente para interagir com o servidor MongoDB. (Ao usar o mongosh, lembre-se de que o servidor mongod deve estar em execução). Então, execute o arquivo mongosh localizado na pasta de instalação mencionada:

Please enter a MongoDB connection string (Default: mongodb://localhost/):

Current Mongosh Log ID: 66b0001c3bc30a7277228fb4
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.2.15
Using MongoDB:          7.0.12
Using Mongosh:          2.2.15

For mongosh info see: https://docs.mongodb.com/mongodb-shell/


To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).
You can opt-out by running the disableTelemetry() command.

------
    The server generated these startup warnings when booting
    2024-08-04T01:42:49.674-03:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
------

test>

Ao iniciar o mongosh, ele perguntará ao usuário qual string de conexão deve ser usada para se conectar ao servidor MongoDB. Neste ponto, basta pressionar Enter para usar a string de conexão padrão do MongoDB. Por padrão, o servidor MongoDB é iniciado na porta 27017, e a string de conexão completa é: mongodb://localhost:27017 ou mongodb://127.0.0.1:27017.

Após a conexão, o console exibirá várias informações de serviço e se conectará ao banco de dados test.

Agora, vamos realizar algumas operações simples. Insira os seguintes comandos no console, pressionando Enter após cada comando:

db.users.insertOne({ name: "Tom" })
db.users.find()

Com a função db.users.insertOne(), um objeto { name: "Tom" } é adicionado à coleção users do banco de dados test. O identificador db representa o banco de dados atual. Neste caso, estamos conectados ao banco de dados padrão, test, portanto, db representa o banco de dados test. Não importa se o banco de dados existe ou não: se não existir, ele será criado.

Depois de db vem users, que é a coleção na qual adicionamos o novo objeto. Se fosse SQL, precisaríamos criar tabelas antecipadamente, mas o MongoDB cria coleções automaticamente quando elas não existem.

A descrição do objeto a ser adicionado é definida em um formato que você pode conhecer se já trabalhou com JSON. Neste caso, o objeto tem uma chave "name" associada ao valor "Tom". Portanto, estamos adicionando um usuário com o nome Tom.

Se o objeto foi adicionado com sucesso, o console exibirá o resultado da operação, incluindo o identificador do objeto adicionado.

O segundo comando, db.users.find(), exibe todos os objetos do banco de dados test.

test> db.users.insertOne({ name: "Tom" })
{
  acknowledged: true,
  insertedId: ObjectId('66b000893bc30a7277228fb5')
}
test> db.users.find()
[ { _id: ObjectId('66b000893bc30a7277228fb5'), name: 'Tom' } ]

No resultado, você verá que um campo adicional, ObjectId, foi adicionado aos valores iniciais do objeto. Como você deve se lembrar, o MongoDB usa o campo _id como identificador único do documento. Neste caso, ObjectId representa o valor do identificador _id.

Instalando os Drivers do MongoDB

No decorrer deste guia, vamos interagir com o servidor MongoDB principalmente através do shell mongosh. No entanto, também podemos interagir com o MongoDB em nossas aplicações escritas em PHP, C++, C#, entre outras linguagens de programação. Para isso, é necessário um driver específico.

No site oficial, na página https://www.mongodb.com/docs/drivers/, você encontrará uma lista de drivers para todas as linguagens de programação suportadas, incluindo PHP, C, C++, C#, Java, Go, Python, Rust, Ruby, Scala, Swift e também Node.js.

O uso de drivers em linguagens de programação específicas será abordado nas seções correspondentes dedicadas a essas linguagens.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com