O MongoDB é um banco de dados NoSQL de código aberto, o que significa que, diferentemente dos bancos de dados relacionais, ele não aceita valores de entrada em formato de tabela. Os dados são armazenados em coleções e documentos, pois o MongoDB é um banco de dados orientado a documentos. As linhas em uma tabela SQL foram substituídas por documentos no MongoDB.
Este artigo pressupõe que você já instalou o servidor MongoDB em seu computador e conectou um shell ao servidor. Se você já fez isso, podemos explorar alguns recursos do MongoDB, mas primeiro, algumas terminologias:Se não, você pode conferir o artigo sobre como instalar o MongoDB no Ubuntu.
- Banco de dados – este é um contêiner físico que contém um conjunto de coleções. Pode conter zero ou mais coleções. Não há limite de quantos bancos de dados podem ser hospedados em uma única instância de servidor, pois ela pode hospedar vários bancos de dados. Seu único limite é o espaço de endereço de memória virtual que o sistema operacional subjacente pode alocar.
- Coleção – um conjunto de documentos do MongoDB semelhantes a “tabelas” em sistemas de banco de dados relacionais. Uma coleção contém documentos de propósitos semelhantes ou relacionados. As coleções não têm esquema, o que significa que os documentos da mesma coleção podem ter campos diferentes.
- Documento – esta é a unidade básica para armazenar dados no MongoDB. Eles são análogos ao ROW em sistemas de banco de dados relacionais tradicionais. Os documentos são conjuntos ordenados de pares chave-valor, o que significa que há um valor associado para cada chave. Eles são frequentemente chamados de “objetos”. Eles são representados em um formato semelhante ao JSON (pares de valores-chave). Os dados são armazenados e consultados em uma representação binária de dados semelhantes a JSON, conhecidos como BSON. Um exemplo deste formato é mostrado abaixo:
{
Student_enroll: “foss123”,
grade: ‘B’
}
- Campo – isso é o equivalente a colunas em bancos de dados relacionais. Ele é armazenado em associação com seu valor em pares chave-valor. Os documentos em uma coleção podem ter zero ou mais campos.
- _id – este é um campo obrigatório em todo documento do MongoDB. Se um usuário cria um documento sem um campo _id, o MongoDB cria automaticamente o campo. _IDs são usados para representar documentos exclusivos em uma coleção. Elas funcionam como chaves primárias dos documentos.
Criando um banco de dados MongoDB
A criação do banco de dados no MongoDB acontece implicitamente quando você tenta usar um banco de dados. Para criar um banco de dados, digite o seguinte no shell do mongo;
> use fossDB
Saída:
Observação: Para abrir o shell do Mongo, execute o comando abaixo:
mongo
O MongoDB verificará primeiro se um banco de dados chamado fossDB está presente. Caso contrário, ele criará um novo para ser usado. O shell do Mongo então muda para fossDB. Isso significa que todas as coleções e documentos criados, atualizados ou lidos serão desse banco de dados, a menos que especificado de outra forma.
Para imprimir em qual banco de dados você está agora, use o comando > db . Para listar todos os bancos de dados disponíveis e criados, use o comando >show . Um exemplo desses comandos em uso é mostrado abaixo;
>db
fossDB
>show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
Saída:
Observação: Não interfira nos bancos de dados de administração e configuração, pois o Mongo os usa para fins administrativos.
Criando uma coleção do MongoDB
Para criar uma coleção, primeiro, verifique se você está no banco de dados correto no qual pretende criar a coleção. Existem duas maneiras de criar uma coleção:
1. Criando uma coleção explicitamente
Use o comando abaixo:
>db.createCollection("Collection1");
{"ok":1}
Saída:
Este comando irá então criar uma coleção chamada Collection1
2. Inserindo um documento em uma nova coleção
Você pode tentar inserir rapidamente um documento em uma coleção inexistente. Isso fará com que o Mongo crie uma nova coleção para você. Observe que, embora isso seja conveniente em termos de criação de coleções programaticamente, se você estiver usando o shell Mongo e cometer um erro de digitação em algum lugar ao inserir um documento, o documento pode acabar em um novo banco de dados que você não conhece.
A sintaxe para criar uma nova coleção é;
db.collection_name.insert(document);
Para criar uma coleção Collection2 no banco de dados fossDB, use o seguinte comando:
> db.Collection2.insert({name: "Alex",key: "value",age: 20});
Saída:
Neste exemplo, a parte do documento é representada pela seguinte string JSON:
{
name: "Alex",
key: "value"
age: 20
}
Esses são os pares de valores-chave típicos de uma string JSON. O “nome” é a chave e “Alex” é o valor. Um usuário pode ter vários documentos nesta coleção com o nome da chave e um valor diferente, digamos Max.
Use o comando abaixo para listar todas as coleções dentro de um banco de dados:
> show collections
Collection1
Collection2
Saída:
Na saída, você notará que ambas as coleções foram criadas. Você está confiante de que pode adicionar um novo documento a uma coleção.
Mostrando coleções
Se você não notou, temos usado bastante a palavra-chave show enquanto discutimos os outros comandos. Para recapitular isso, o comando para mostrar coleções e bancos de dados é:
>show collections
>show dbs
Saída:
Em conjunto com o comando db, esses comandos são usados para imprimir o banco de dados atual e são bastante úteis ao interagir com o shell do Mongo.
Eliminando coleções e banco de dados do MongoDB
O comando drop é uma palavra-chave que não abordamos neste artigo. É um comando usado para remover coleções ou bancos de dados inteiros do servidor Mongo de um usuário. Para descartar, a sintaxe a seguir o guiará pelo processo.
1. Eliminando coleções
Eliminaremos a coleção “Collection2” que criamos anteriormente. Isso é feito usando o comando abaixo:
>db.Collection2.drop()
Saída:
Para verificar se a coleção foi excluída, você pode usar o comando show collections para listar as coleções restantes. Você notará que haverá uma coleção faltando na lista.
2. Descartando bancos de dados
Antes de executar o comando para descartar o banco de dados, você deve verificar se está no banco de dados correto, ou poderá se livrar do banco de dados errado e acabar perdendo dados valiosos que não pretendia excluir. Neste exemplo, descartaremos o banco de dados fossDB que criamos anteriormente. Vamos nos certificar de que estamos no banco de dados correto usando o comando abaixo:
>db
fossDB
Saída:
vamos então descartar o banco de dados usando o comando abaixo:
>db.dropDatabase();
Saída:
Abaixo vamos apresentar vários termos SQL e seus termos MongoDB correspondentes;
Termos SQL | Termos do MongoDB |
---|---|
Banco de dados | Banco de dados |
Tabela | Coleção |
Índice | Índice |
Linha | Documento / documento BSON |
Coluna | Campo |
Uniões de tabela | Documentos incorporados e links |
Chave primária – no SQL, especifica qualquer coluna ou combinação de colunas exclusiva | Chave primária – essa chave é definida automaticamente para o campo _id no MongoDB |
Conclusão
O MongoDB alcançou enorme popularidade no mundo dos desenvolvedores por causa da representação semelhante ao JSON, escalabilidade, facilidade e maneira dinâmica de criar documentos. Este artigo discutiu os três comandos usados no shell do MongoDB. Esperamos que este artigo tenha ajudado você a entender melhor esses comandos. Se você estiver procurando por um banco de dados para ser usado em um projeto de levantamento pesado de dados, o MongoDB é uma boa opção que você pode considerar.