Como começar a trabalhar com o MongoDB em 10 minutos
por Navindu Jayatilake
o MongoDB é um rico documento orientado a banco de dados NoSQL.
Se você é um iniciante completo para NoSQL, eu recomendo que você dê uma olhada rápida no meu artigo NoSQL publicado anteriormente.
Hoje, eu queria compartilhar algumas das coisas básicas sobre os comandos do MongoDB, tais como pesquisar, filtrar dados, apagar, atualizar e assim por diante.OK, chega de conversa, vamos ao trabalho!configuração de
?
para trabalhar com o MongoDB, primeiro você precisa instalar o MongoDB no seu computador. Para fazer isso, visite o centro de download oficial e baixe a versão para o seu SO específico. Toma, usei janelas.
Depois de baixar a configuração do servidor de Comunidade MongoDB, você vai passar por um processo de instalação ‘seguinte depois do próximo’. Uma vez feito, vá para a unidade C em que você instalou MongoDB. Vá para os arquivos do programa e selecione o diretório MongoDB.
C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin
no directório do bin, irá encontrar um par interessante de Ficheiros Executáveis.
- mongod
- mongo
vamos falar sobre estes dois ficheiros.mongod significa “Mongo Daemon”. mongod é um processo usado por MongoDB. O principal objetivo do mongod é gerenciar todas as tarefas do servidor MongoDB. Por exemplo, aceitar pedidos, responder ao cliente, e gerenciamento de memória.
mongo é uma linha de comandos que pode interagir com o cliente (por exemplo, administradores de sistemas e desenvolvedores).agora vamos ver como podemos pôr este servidor a funcionar. Para fazer isso no Windows, Primeiro você precisa criar um par de diretórios em sua unidade C. Abra a sua linha de comandos dentro da sua unidade C e faça o seguinte:
C:\> mkdir data/dbC:\> cd dataC:\> mkdir db
o objectivo destas pastas é o MongoDB necessita de uma pasta para armazenar todos os dados. A localização padrão do diretório de dados do MongoDB é na unidade. Por conseguinte, é necessário fornecermos esses directórios dessa forma.
Se iniciar o servidor MongoDB sem essas pastas, provavelmente irá ver este erro a seguir:
Depois de criar os dois arquivos, de cabeça novamente para a pasta bin que você tem em seu mongodb diretório e abrir o shell de dentro dele. Execute o seguinte comando:
mongod
Voilà! Agora o nosso servidor MongoDB está a funcionar! ?
para trabalhar com este servidor, precisamos de um mediador. Então abra outra janela de comandos dentro da pasta de encadernação e execute o seguinte comando:
mongo
Depois de executar este comando, navegue até à linha de comandos que executámos o comando mongod (que é o nosso servidor). Você verá uma mensagem de ‘conexão Aceita’ no final. Isso significa que nossa instalação e configuração é bem sucedida!
simplesmente execute no shell mongo:
db
Configuração de Variáveis de Ambiente
Para economizar tempo, você pode configurar as variáveis de ambiente. No Windows, isto é feito seguindo os menus abaixo:
Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit
simplesmente copie o caminho da nossa pasta do bin e carregue em OK! No meu caso é C:\Program Files\MongoDB\Server\4.0\bin
Agora você está pronto!
trabalhando com MongoDB
há um monte de GUIs (interface gráfica do Usuário) para trabalhar com servidor MongoDB, como MongoDB Compass, Studio 3T e assim por diante.
eles fornecem uma interface gráfica para que você possa facilmente trabalhar com o seu banco de dados e realizar consultas em vez de usar uma linha de comandos e digitar consultas manualmente.
mas neste artigo vamos usar o comando prompt para fazer o nosso trabalho.
Agora é hora de mergulhar em comandos MongoDB que vai ajudá-lo a usar com seus projetos futuros.
- abra a sua linha de comandos e escreva
mongod
para iniciar o servidor MongoDB.2. Abra outro shell e tipomongo
para se conectar ao servidor de banco de dados MongoDB.
1. Encontrar o banco de dados atual que você está no
db
Este comando irá mostrar o banco de dados atual que você está.
test
é o banco de dados inicial que vem por padrão.2. Listagem de bases de dadosshow databases
atualmente tenho quatro bases de dados. São eles:
CrudDB
admin
config
elocal
.3. Ir para um determinado banco de dados
use <your_db_name>
Aqui eu mudei para o
local
banco de dados. Poderá verificar isto se tentar o comandodb
para imprimir o nome actual da base de dados.4. Criando um banco de dadoscom RDBMS (sistemas relacionais de gerenciamento de banco de Dados) temos bancos de Dados, tabelas, linhas e Colunas.
mas em bases de dados NoSQL, como o MongoDB, os dados são armazenados no formato BSON (uma versão binária do JSON). Eles são armazenados em estruturas chamadas “coleções”.
em bases de dados SQL, estas são semelhantes às tabelas.
tudo Bem, vamos falar sobre como criar um banco de dados no shell mongo.
use <your_db_name>
espera, já tínhamos este comando antes! Porque estou a usá-lo outra vez?!
no servidor MongoDB, se a sua base de dados já estiver presente, se usar esse comando irá navegar na sua base de dados.
mas se a base de dados ainda não está presente, então o servidor MongoDB irá criar a base de dados para você. Então, ele vai navegar nele.
Depois de criar uma nova base de dados, a execução do comando
show database
não irá mostrar a sua base de dados recém-criada. Isto porque, até que tenha quaisquer dados (documentos) nele, ele não vai mostrar em sua lista db.5. Criando uma colecção
navegue na sua base de dados recém-criada com o comando
use
.Na verdade, existem duas maneiras de criar uma coleção. Vamos ver os dois.
uma maneira é inserir dados na coleção:
db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})
isto vai criar a sua coleção
myCollection
mesmo que a coleção não exista. Em seguida, irá inserir um documento comname
eage
. Estas são colecções não cobertas.A segunda via é mostrada abaixo:
2.1 Creating a Non-Capped Collection
db.createCollection("myCollection")
2.2 Creating a Capped Collection
db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})
desta forma, you’re going to create a collection without inserting data.
uma “colecção com capas” tem uma contagem máxima de documentos que evita a sobrecarga de documentos.
neste exemplo, eu activei o nivelamento, definindo o seu valor para
true
.The means a limit of two megabytes, and
max: 2
set the maximum number of documents to two.Agora, se você tentar inserir mais de dois documentos para o
mySecondCollection
e usar ofind
comando (que falaremos em breve), você verá apenas o mais recentemente inserido documentos. Tenha em mente que isso não significa que o primeiro documento foi apagado — ele simplesmente não está mostrando.6. Inserindo dados
podemos inserir dados para uma nova coleção, ou para uma coleção que foi criada antes.
Existem três métodos para a inserção de dados.
-
insertOne()
é usado apenas para inserir um único documento. -
insertMany()
é usado para inserir mais de um documento. -
insert()
é usado para inserir documentos quantos quiser.
abaixo estão alguns exemplos:
- insertOne()
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
- insertMany()
db.myCollection.insertMany()
insert()
método é semelhante aoinsertMany()
método.também, notice we have inserted a new property called
location
on the document forJohn Doe
. Então, se você usarfind
e, em seguida, você verá apenas parajohn doe
location
propriedade está conectado.isto pode ser uma vantagem quando se trata de bases de dados NoSQL como MongoDB. Permite a escalabilidade.
7. Consultando Dados
Aqui está como você pode consultar todos os dados de uma coleção:
db.myCollection.find()
Se você deseja ver estes dados de uma forma mais limpa, só adicionar
.pretty()
no final. Isto irá mostrar o documento em formato JSON bastante impresso.db.myCollection.find().pretty()
Aguarde…nesses exemplos que você acabou de perceber algo como
_id
? Como é que isso chegou lá?bem, sempre que inserir um documento, o MongoDB adiciona automaticamente um campo
_id
que identifica de forma única cada documento. Se você não quiser que ele mostre, basta executar o seguinte comandodb.myCollection.find({}, _id: 0).pretty()
a seguir, vamos olhar para os dados de filtragem.
Se quiser mostrar algum documento específico, poderá indicar um único detalhe do documento que deseja mostrar.
db.myCollection.find( { name: "john" })
Vamos dizer que você quer apenas mostrar as pessoas que tenham idade inferior a 25. Você pode usar
$lt
para filtrar para isso.db.myCollection.find( { age : {$lt : 25} })
da mesma forma,
$gt
significa maior que,$lte
é “menor do que ou igual a”,$gte
é “maior ou igual” e$ne
não é “igual”.8. Atualizando documentos
digamos que você quer atualizar o endereço ou idade de alguém, como você poderia fazer isso? Bem, veja o próximo exemplo:
db.myCollection.update({age : 20}, {$set: {age: 23}})
o primeiro argumento é o campo do qual o documento que você deseja atualizar. Aqui, eu especifico
age
para a simplicidade. No ambiente de produção, você poderia usar algo como o campo_id
.é sempre melhor usar algo como
_id
para atualizar uma linha única. Isto porque múltiplos campos podem ter o mesmoage
ename
. Portanto, se você atualizar uma única linha, ela afetará todas as linhas que têm o mesmo nome e idade.Se você atualizar um documento desta forma, com uma nova propriedade, digamos
location
por exemplo, o documento será actualizado com o novo atributo. E se você fizer umfind
, então o resultado será:Se você precisar remover uma propriedade de um único documento, você poderia fazer algo assim (vamos dizer que você quer
age
ter ido):db.myCollection.update({name: "navindu"}, {$unset: age});
9. A remoção de um documento
Como já mencionado anteriormente, quando você atualizar ou excluir um documento, você só precisa especificar o
_id
não apenasname
age
location
.db.myCollection.remove({name: "navindu"});
10. Remover uma colecção
db.myCollection.remove({});
Nota: Isto não é igual ao método
drop()
. A diferença édrop()
é usado para remover todos os documentos dentro de uma coleção, mas oremove()
método é usado para excluir todos os documentos, juntamente com a coleção em si.operadores lógicos
MongoDB fornece operadores lógicos. A imagem abaixo resume os diferentes tipos de operadores lógicos.
Vamos dizer que você quer apresentar as pessoas cuja idade é inferior a 25, e também cuja localização é Colombo. O que podíamos fazer?
Podemos usar o operador!
db.myCollection.find({$and:});
Last but not least, let’s talk about aggregation.
agregação
uma chamada de atenção rápida sobre o que aprendemos sobre funções de agregação em bases de dados SQL:
simply put, aggregation groups values from multiple documents and summarizes them in some way.Imagine se tivéssemos alunos do sexo masculino e feminino em uma coleção
recordBook
e queremos uma contagem total em cada um deles. A fim de obter a soma de machos e fêmeas, poderíamos usar a função agregada$group
.db.recordBook.aggregate();
Quebra automática
Então, nós temos discutido o básico do MongoDB que você poderá precisar no futuro para construir uma aplicação. Espero que tenha gostado deste artigo – obrigado por ler!
-