MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O tutorial básico do MongoDB


MongoDB é um banco de dados NoSQL. Sob o NoSQL guarda-chuva colocamos todos aqueles bancos de dados que não usam a linguagem SQL para consultar os dados.

Principais características do MongoDB


MongoDB é um banco de dados muito amigável para JavaScript. Ele expõe uma API JavaScript que podemos usar para criar bancos de dados e coleções de objetos (chamados documentos ).

É sem esquema , o que significa que você não precisa pré-definir uma estrutura para os dados antes de armazená-los.

No MongoDB você pode armazenar qualquer objeto sem ter que se preocupar com os campos específicos que compõem este objeto e como armazená-los. Você diz ao MongoDB para armazenar esse objeto.

Os dados são armazenados em um formato semelhante ao JSON, mas aprimorado para permitir o armazenamento de mais do que apenas tipos de dados básicos.

Instalação


Vamos em frente e instalar o MongoDB. Você pode usar um dos muitos provedores de nuvem que oferecem acesso a uma instância do MongoDB, mas, para fins de aprendizado, nós mesmos o instalaremos.

Eu uso um Mac, então as instruções de instalação neste tutorial se referem a esse sistema operacional.

Abra o terminal e execute:
brew tap mongodb/brew
brew install mongodb-community

É isso.

As instruções não eram muito longas ou complicadas, supondo que você saiba como usar o terminal e como instalar o Homebrew.

A instalação nos diz isso:
To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Você pode optar por iniciar o MongoDB uma vez e executá-lo para sempre como um serviço em segundo plano em seu computador (o que eu prefiro), ou você pode executá-lo apenas quando precisar, executando o último comando.

A configuração padrão do MongoDB é esta:
systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Os logs são armazenados em /usr/local/var/log/mongodb/mongo.log e o banco de dados é armazenado em /usr/local/var/mongodb .

Por padrão não há controle de acesso, qualquer pessoa pode ler e escrever no banco de dados.

O Mongo Shell


A melhor maneira de experimentar o MongoDB e começar a interagir com ele é executando o mongo programa, que inicia o shell do MongoDB.



Agora você pode inserir qualquer comando que o Mongo entenda.

Criar um banco de dados


Quando você inicia, o Mongo cria um banco de dados chamado test . Execute db no shell para informar o nome do banco de dados ativo



Para alterar o banco de dados, basta escrever use newname e o newname banco de dados será criado instantaneamente e o shell muda para usá-lo.



Use show databases para listar os bancos de dados disponíveis:



Como você pode ver, o something banco de dados não está listado, apenas porque ainda não há coleção nele. Vamos criar um.

Coleções


No MongoDB, uma coleção é o equivalente a uma tabela de banco de dados SQL.

Você cria uma coleção no banco de dados atual usando o db.createCollection() comando. O primeiro argumento é o nome do banco de dados e você pode passar um objeto de opções como segundo parâmetro.



Depois de fazer isso, show databases listará o novo banco de dados e show collections listará a coleção.



Você também pode criar uma nova coleção usando-a como uma propriedade do db objeto e chamando insert() para adicionar um objeto à coleção:
db.dogs.insert({ name: 'Roger' })


Listar objetos em uma coleção


Para mostrar os objetos adicionados a uma coleção, use o find() método:



Como você pode ver, há um _id adicional propriedade para o registro que adicionamos. Isso é gerado automaticamente para nós pelo MongoDB.

Agora, adicione mais cães:
db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Chamando db.dogs.find() nos dará todas as entradas, enquanto podemos passar um parâmetro para filtrar e recuperar uma entrada específica, por exemplo com db.dogs.find({name: 'Roger'}) :



O find() retorna um cursor no qual você precisa iterar.

Existe outro método que é útil quando você sabe que obterá apenas um registro, que é findOne() , e é usado da mesma maneira. Se vários registros corresponderem a uma consulta, ele retornará apenas o primeiro.


Atualizando registros


Para atualizar um registro você pode usar o update() método em uma coleção:


Removendo registros


Você pode remover um registro chamando o remove() método em uma coleção, passando um objeto para ajudar a identificá-lo:



Para remover todas as entradas de uma coleção, passe um objeto vazio:
db.dogs.remove({})