Introdução a Collection em Banco de Dados MongoDB
Published: 2023-12-08 00:16:14

   Um dos principais sistemas gerenciadores de banco de dados (SGBD) NoSQL atualmente é o MongoDB, um sistema de código aberto, multiplataforma e orientado a documentos no formato JSON (Javascript Object Notation).

Algumas das principais características que podem ser exploradas são:
1-	Gratuito.
2-	Possui baixa curva de aprendizado.
3-	Escalabilidade horizontal.
4-	Um sistema Multiplataforma.
5-	Consultas permitem algumas funções Javascript.

   Como dito acima o MongoDB armazena seus dados em “Documentos”, eles são reunidos em coleções que por sua vez é armazenado por um Banco de dados.

	Iremos apresentar abaixo alguns comandos para auxiliá-los a criar suas primeiras coleções em um banco de dados NoSQL.

	O MongoDB oferece 3 tipos de serviços para que se inicie a utilização do seu banco de dados:

  MongoDB Atlas UI
   O MongoDB Atlas UI é uma plataforma de dados do desenvolvedor Atlas. 
Para testes e aprendizado a plataforma é gratuita.

  MongoDB Shell
   Como a maioria dos SGBDs o MongoDB pode ser controlado pelo Shell (também chamado de interface de linha de comando), geralmente chamada de CLI.

  Ao utilizar comandos na CLI, você envia ao MongoDB operações, obtém informações e executa ações fundamentais.

  MongoDB Compass
   Para certos usuários que preferem trabalhar com uma GUI (interface gráfica de utilizador) para criar e atualizar seus dados e coleções. A GUI Compass, oferece funcionalidades adicionais, como visualização de dados e perfil de desempenho, além de oferecer acesso CRUD (criar, ler, atualizar, excluir) a dados, bancos de dados e coleções.

  Para os fins deste artigo iremos utilizar o MongoDB Shell e sua utilização deve ser feita instalando o mongosh em seu Linux ou Windows.
Install mongosh — MongoDB Shell

Em um ambiente com MongoDB não precisamos necessariamente criar um objeto, podemos sempre o identificar em nossas Queries que eles serão criados automaticamente.

1-	Criar um Banco de Dados

Para criar um DB no Mongo precisamos apenas identificá-lo antes da execução da criação da coleção. Não precisamos necessariamente executar um comando de CREATE.

Antes de criar podemos listar os bancos criados através da query (solicitação ou alteração de informações e objetos de um banco de dados):

> show dbs

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzhm8vmvdo1g6b5dq43e.png)

Para criar utilizamos o comando:
> use myshinynewdb
Após a inserção de um novo registro ou a criação de um objeto podemos vê-lo na listagem 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdmdsk7ewimp8tt2enqf.png)

Para ver em qual banco de dados você está podemos usar o comando:

> db

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d0w3amxxa3jsv7n51est.png)

2-Criando uma Collection

Para criar uma Collection podemos utilizar alguns métodos.
a.Operação de InsertOne
Insere um único documento em uma coleção.
Essa operação pode também criar o Banco de dados.

> db.myNewCollection2.insertOne( { x: 1 } )

db.collection.insertOne() — MongoDB Manual

b.	Operação de CreateIndex

Cria índices em coleções.

> db.myNewCollection3.createIndex( { y: 1 } )

db.collection.createIndex() — MongoDB Manual

c.	Operação Explicita

> db.createCollection(name, options)

db.createCollection() — MongoDB Manual

Podemos usar no MongoDB o método db.createCollection() para criar uma collection com diversas opções, como por exemplo: definir o tamanho ou validar as regras da documentação. 

Syntax

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cg1r3ik33kmvgqgjj7u0.png)


Agora após termos passado por essa introdução aos comandos iremos realizar um passo a passo para que seja possível para você leitor replicar em seu ambiente e verificar e aprender um pouco mais sobre o MongoDB.

1-	Após conectar em seu ambiente, verifique se o banco de dados já está criado:
> show dbs

2-	Digite o comando USE com o nome do banco de dados que você definir:
> use myshinynewdb

3-	Iremos usar os 3 comandos para criar uma Collection chamada “CollectionTeste”:

a.	InsertOne – Inserindo 3 registros com Ids, nomes e quantidades diferentes.
Esses dados são chamados Chave-Valor.

> db.CollectionTeste.insertOne ( { _id: 1, item: "box", qty: 20 } )
> db.CollectionTeste.insertOne ( { _id: 2, item: "pen", qty: 5 } )
> db.CollectionTeste.insertOne ( { _id: 3, item: "eraser", qty: 10 } )

b.	CreateIndex – Criando um índice chamado “item_fr” com a coluna do Objeto “item” e com opções de criação para comparação binária e força de comparação em 2.
> db.CollectionTeste.createIndex( { item: 1 }, { name: "item_fr", collation: { locale: simple, strength: 2 } })


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q77ra4oeinsubaoan6uq.png)

Collation — MongoDB Manual

c.	createCollection – Cria uma Collection.

db.createCollection(" CollectionTeste")

Ou criando com o índice:

db.createCollection("CollectionTeste",{ clusteredIndex: { "key": { _id: 1 }, "unique": true, "name": " item_fr" } })


Grupo:
Ervin Lima - 182469
Gabriel quintanilha: 061808
Paulo Takita: 184189