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

MongoDB - Criar uma coleção


Você pode criar uma coleção usando o createCollection() ou dinamicamente ao inserir um documento.

As coleções são como contêineres para documentos relacionados. Eles são normalmente usados ​​para agrupar documentos de um tópico semelhante. Por exemplo, você pode ter nomes de coleção como users , pageviews , posts , comments , etc

Quando criamos nosso banco de dados, criamos uma coleção chamada artists . Esta coleção conterá documentos com detalhes do artista, como nomes dos artistas, álbuns que lançaram etc.

Duas maneiras de criar uma coleção


Aqui estão duas maneiras de criar coleções:
  • Você pode criar uma coleção em tempo real ao inserir um documento (usando o insert() método.
  • Você também pode criar uma coleção explicitamente, usando o createCollection() método.

Em movimento


Quando você usa o insert() para inserir um documento, você especifica a coleção na qual o documento será inserido. Se a coleção ainda não existir, ela será criada.

Este é o método que usamos anteriormente quando criamos nossos artists coleção ao inserir um documento.

Aqui está o código que usamos:
db.artists.insert({ artistname: "The Tea Party" })

Neste caso, os artists coleção não existia anteriormente, então ela foi criada para nós.

Usando o createCollection() Método


Você também pode criar coleções usando o createCollection() método. Isso permite que você crie uma coleção sem inserir um documento.

Aqui está um exemplo de uso do createCollection() método:
db.createCollection("producers")

Com opções


Você também pode especificar opções para a coleção usando o db.createCollection(name, options) sintaxe.

Aqui está um exemplo:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

Os campos disponíveis a partir do MongoDB versão 3.2 são os seguintes.
Campo Tipo Descrição
capped booleano Quando definido como true , cria uma coleção limitada. Uma coleção limitada é uma coleção de tamanho fixo que substitui automaticamente suas entradas mais antigas quando atinge seu tamanho máximo. Se você especificar true , você também deve definir um tamanho máximo no size campo.
autoIndexId booleano Especifique false para desabilitar a criação automática de um índice no _id campo. A partir da versão 3.2 do MongoDB, este campo está obsoleto e será removido na versão 3.4.
size número Tamanho máximo em bytes para uma coleção limitada. Usado apenas com coleções limitadas (é ignorado em outras coleções).
max número Número máximo de documentos permitidos na coleção limitada. Observe que o size campo tem precedência sobre o max campo. Se a coleção atingir seu limite de tamanho antes que o limite de documentos seja atingido, o MongoDB removerá os documentos de qualquer maneira.
usePowerOf2Sizes booleano Disponível apenas no mecanismo de armazenamento MMAPv1. Este campo está obsoleto desde a versão 3.0.
noPadding booleano Disponível apenas no mecanismo de armazenamento MMAPv1. Desativa o poder de alocação de 2 tamanhos para a coleção. O padrão é false .
storageEngine documento Disponível apenas no mecanismo de armazenamento WiredTiger. Permite a configuração do mecanismo de armazenamento por coleção ao criar uma coleção. A sintaxe é a seguinte:{ <storage-engine-name>: <options> }
validator documento Permite especificar regras ou expressões de validação para a coleção. Observe que a validação só é aplicada ao inserir e atualizar dados. Portanto, os dados que já existem no banco de dados não são validados (até que sejam atualizados).
validationLevel cadeia Permite especificar com que rigor as regras de validação são aplicadas aos documentos existentes durante uma atualização. Valores possíveis:
off Nenhuma validação ocorre para inserções ou atualizações.
strict A validação ocorre para inserções e atualizações. este é o valor padrão.
moderate As regras de validação são aplicadas apenas a válido existente documentos, mas não para documentos inválidos existentes documentos.
validationAction cadeia Especifica se deve ocorrer um erro, ou apenas um aviso, quando são inseridos documentos inválidos. Se houver erro, os documentos inválidos ainda serão inseridos, mas com um aviso.
error Especifica que ocorre um erro quando um documento inválido está sendo gravado e a operação falha.
warning Especifica que documentos inválidos ainda podem ser gravados e que o aviso será registrado.
indexOptionDefaults documento Permite especificar uma configuração padrão para índices ao criar uma coleção. Aceita um storageEngine documento com a seguinte sintaxe:{ : }