Bancos de dados e coleções no MongoDB
Nesta página
Visão geral
O MongoDB armazena registros de dados como documentos (especificamente documentos BSON) que são reunidos em coleções. Um banco de dados armazena uma ou mais coletas de documentos.
Você pode gerenciar bancos dedados e collections no Atlas cluster a partir da UI do Atlas , mongosh
ou MongoDB Compass. Esta página descreve como gerenciar bancos de dados e coleções no Atlas cluster a partir da UI do Atlas . Para implantações autogerenciadas, você pode utilizar o mongosh
ou MongoDB Compass para gerenciar bancos de dados e coleções.
Selecione o cliente que você deseja usar para gerenciar bancos de dados e coleções.
O MongoDB Atlas é um serviço de banco de banco de dados multinuvem que simplifica a implantação e o gerenciamento de seus bancos de dados nos fornecedores de nuvem da sua escolha.
O MongoDB Compass é uma interface gráfica poderosa para query, aggregation e análise de seus dados MongoDB em um ambiente visual. Para saber mais, consulte MongoDB Compass.
Bancos de dados
No MongoDB, os bancos de dados contêm uma ou mais coletas de documentos.
Para selecionar um banco de dados a ser usado, em mongosh
, emita a instrução use <db>
, como no exemplo a seguir:
use myDB
Para selecionar um banco de dados para usar, complete as seguintes etapas:
Inicie o MongoDB Compass e conecte-se ao cluster.
Para saber mais, consulte Conectar ao MongoDB.
Criar um banco de dados
Para criar um novo banco de dados de dados, inicie sessão no Atlas e faça o seguinte:
Clique em.<a class=\" \" href=\" \"Create title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Após a criação bem-sucedida, o banco de dados de dados e a coleção são exibidos no painel esquerdo da UI do Atlas .
Se um banco de dados não existir, o MongoDB criará o banco de dados quando você armazenar os dados pela primeira vez para esse banco de dados. Como tal, você pode trocar para um banco de dados inexistente e executar a seguinte operação no mongosh
:
use myNewDB db.myNewCollection1.insertOne( { x: 1 } )
A operação insertOne()
cria o banco de dados myNewDB
e o myNewCollection1
da collection, se ainda não existirem. Os nomes do banco de dados e da collection devem seguir as restrições de nomenclatura do MongoDB.
Collections
O MongoDB armazena documentos em coleções. Coleções são análogas às tabelas do banco de dados relacional.
Criar uma coleção
Se uma coleção não existir, o MongoDB criará a coleção quando você armazenar dados para essa coleção pela primeira vez.
Para criar uma nova collection, inicie sessão no Atlas e faça o seguinte:
Clique em.<a class=\" \" href=\" \"Create title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Após a criação bem-sucedida, a coleta é exibida abaixo do banco de dados de dados na interface do Atlas .
db.myNewCollection2.insertOne( { x: 1 } ) db.myNewCollection3.createIndex( { y: 1 } )
Tanto a operação insertOne()
quanto a createIndex()
criam suas respectivas collections se ainda não existirem. Garanta que o nome da collection siga as restrições de nomenclatura do MongoDB.
Criação explícita
Para criar uma nova collection, inicie sessão no Atlas e faça o seguinte:
Opcional. No menu suspenso Additional Preferences, selecione o tipo de coleção que deseja criar.
Você pode criar um dos seguintes tipos de collection:
Se você optar por criar uma coleção limitada, especifique o tamanho máximo em bytes.
Se você selecionar para criar uma coleção de séries temporais, especifique o campo de tempo e granularidade. Como opção, você pode especificar o campo meta e o tempo para que os dados antigos na coleção expirem.
Se você selecionar para criar uma collection clusterizada, você deverá especificar o valor da chave de índice agrupado e um nome para o índice agrupado.
Clique em.<a class=\" \" href=\" \"Create title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Após a criação bem-sucedida, a coleta é exibida abaixo do banco de dados de dados na interface do Atlas .
O MongoDB fornece o método db.createCollection()
para criar explicitamente uma coleção com várias opções, como definir o tamanho máximo ou as regras de validação da documentação. Se você não estiver especificando essas opções, não precisará criar explicitamente a coleção, pois o MongoDB cria novas coleções quando você armazena dados para as coleções pela primeira vez.
Para modificar estas opções de coleção, consulte collMod
.
Clique em para criar a coleção.<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \"> Create Collection
O MongoDB Compass fornece as seguintes preferências adicionais que você pode configurar para sua collection:
Validação do documento
Por padrão, uma coleção não exige que seus documentos tenham o mesmo esquema; ou seja, os documentos em uma única coleção não precisam ter o mesmo conjunto de campos, e o tipo de dados de um campo pode diferir entre os documentos dentro de uma coleção.
No entanto, você pode impor regras de validação de documentos para uma coleção durante as operações de atualização e inserção. Consulte Validação de Esquema para obter detalhes.
Para implantações hospedadas no MongoDB Atlas, o Consultor de Desempenho e a IU do MongoDB Atlas detectam problemas comuns de projeto de esquema e sugerem modificações que seguem as práticas recomendadas do MongoDB. Para saber mais, consulte Sugestões de esquema.
Modificando a Estrutura do Documento
Para alterar a estrutura dos documentos em uma coleção como adicionar novos campos, remover campos existentes ou alterar os valores dos campos para um novo tipo, atualize os documentos para a nova estrutura.
Unique Identifiers
As coleções recebem um UUID imutável. O UUID da coleção permanece o mesmo em todos os membros de um conjunto de réplicas e fragmentos em um cluster fragmentado.
Para recuperar o UUID para uma coleção, execute o comando listCollections ou o método db.getCollectionInfos()
.