Latest web development tutorials

MongoDB conceito analítico

Quer saber qual banco de dados deve aprender um dos conceitos fundamentais no MongoDB conceito básico é que os documentos, coleções, bancos de dados, aqui apresentamos um por um.

A tabela a seguir irá ajudá-lo mais fácil de entender alguns dos conceitos Mongo:

SQL Terminologia / Conceitos prazo MongoDB / conceito Explicação / Descrição
banco de dados banco de dados banco de dados
mesa coleção tabela de banco de dados / coleções
linha documento gravação de dados Line / Documentação
coluna campo Campo de dados / Domínio
índice índice índice
junções de tabela Junções de tabela, não MongoDB não suporta
chave primária chave primária chave primária, MongoDB campo automaticamente _id como a chave primária

Seguindo figura exemplos, podemos compreensão mais intuitiva do Mongo alguns conceitos:


banco de dados

A mongodb pode criar várias bases de dados.

O banco de dados padrão MongoDB é "db", o banco de dados é armazenado no diretório de dados.

Uma única instância do MongoDB pode acomodar vários bancos de dados independentes, cada um com seu próprio conjunto de permissões e diferentes bancos de dados também são colocados em diferentes arquivos.

"Mostrar dbs" comando para exibir uma lista de todos os dados.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
> 

A implementação do comando "db" para exibir o objeto de banco de dados atual ou coleção.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

Executar "use" comando, você pode se conectar a um banco de dados específico.

> use local
switched to db local
> db
local
> 

Exemplos de comando acima, "local" é que você deseja vincular banco de dados.

No próximo capítulo, vamos explicar em detalhe o uso do MongoDB no comando.

Base de dados também ser identificados por nome. Nome do banco de dados pode ser qualquer uma das seguintes condições UTF-8 string.

  • Não pode ser uma cadeia vazia ( "").
  • Não contém '' (espaço)., $, /, \ E \ 0 (null Yu Fu).
  • Ele deve estar em minúsculas.
  • Até 64 bytes.

Alguns nomes de banco de dados são reservados e pode acessar diretamente esses bancos de dados têm um papel especial.

  • admin: do ponto de vista da autoridade, que é o banco de dados "root". Se você adicionar um usuário ao banco de dados, o usuário automaticamente herda todo o banco de dados de permissões. Alguns comandos do lado do servidor específicas só pode ser executado a partir do banco de dados, tais como uma lista de todo o banco de dados ou servidor.
  • locais: Estes dados nunca serão copiados, pode ser usada para armazenar qualquer colecção está limitado a um único local servidor
  • config: Quando Mongo para a fragmentação é definido para, banco de dados de configuração usado internamente para armazenar informações de fatia.

arquivo

A documentação é uma chave (key-value) de (ie BSON). documento MongoDB não precisa de ser indicada no mesmo campo, o mesmo campo e não requer o mesmo tipo de dados, que é um banco de dados relacional é muito diferente, MongoDB também característica muito proeminente.

Um exemplos de documentos simples são como se segue:

{"site":"www.w3big.com", "name":"本教程"}

A tabela a seguir lista os RDBMS e MongoDB termos correspondentes:

RDBMS MongoDB
banco de dados banco de dados
mesa definir
linha arquivo
linha campo
Tabela conjunta documento incorporado
chave primária chave primária (MongoDB fornece uma chave para o _id)
serviços de banco de dados e clientes
Mysqld / Oracle mongod
mysql / sqlplus mongo

Note-se que:

  1. pares de chave / valor de documentos são ordenados.
  2. Documento pode ser não só o valor da string dentro das aspas duplas também pode haver vários outros tipos de dados (ou mesmo toda a documentos incorporados).
  3. MongoDB para distinguir os tipos e sensível.
  4. documento MongoDB não pode ter chaves duplicadas.
  5. documento chave é uma string. Com poucas exceções, a chave pode usar quaisquer caracteres UTF-8.

documentos-chave convenção de nomenclatura:

  • Key não pode conter \ 0 (caractere nulo). Este carácter é utilizada para indicar o fim da ligação.
  • . E $ único significado especial já ser utilizado em determinadas circunstâncias.
  • Para sublinhar "_" no início das chaves são reservados (não estritamente necessário).

definir

MongoDB é um grupo documento de cobrança, semelhante ao RDBMS (sistema de gerenciamento de banco de dados relacional: Relational Database Management System) no formulário.

existe recolha no banco de dados, uma coleção de nenhuma estrutura fixa, o que significa que você pode inserir na coleção de dados em diferentes formatos e tipos, mas geralmente nós inserir um conjunto de dados terá alguma relevância.

Por exemplo, podemos documentar essas estruturas de dados diferentes para a coleção:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.w3big.com","name":"本教程","num":5}

Quando o primeiro documento na coleção será criada.

nome de recolha legítima

  • O nome da coleção não pode ser uma string vazia "".
  • O nome do conjunto não pode conter \ 0 caracteres (caractere nulo), esse personagem indica o fim de uma coleção de nomes.
  • O nome do conjunto não pode ser "sistema". No início, que é reservado para o prefixo set sistema.
  • nome da coleção criada pelo usuário não pode conter caracteres reservados. Alguns motoristas suportam a coleção que contém o nome, é porque alguma coleção gerado pelo sistema contém o caractere. A menos que você deseja acessar uma coleção de um tal sistema é criado, caso contrário, não aparecem no nome $ interior.

Os exemplos que se seguem:

db.col.findOne()

tampado coleções

Tampado coleções são coleção de tamanho fixo.

Ele tem características de alto desempenho ea fila expirou (expirou de acordo com a ordem de inserção). Algo semelhante e conceito de "RRD".

Tampado coleções são inseridas automaticamente, a fim de manter objetos de alto desempenho. É ideal para eventos e coleta de registro padrão semelhante de diferente, você tem que criar explicitamente uma coleção tampado, uma coleção do tamanho especificado, em bytes. coleção de valores de espaço de armazenamento de dados atribuídos com antecedência.

Observa-se que o tamanho de armazenamento especificado do banco de dados que contém as informações de cabeçalho.

db.createCollection("mycoll", {capped:true, size:100000})
  • Na coleção tampado, você pode adicionar novos objetos.
  • Pode ser actualizada, no entanto, o objecto não aumentar o espaço de armazenamento. Se você aumentar a actualização irá falhar.
  • O banco de dados não permite a eliminação. Use queda () para eliminar toda a coleção de linhas.
  • Nota: Depois de excluir, é necessário recriar explicitamente a coleção.
  • Em máquinas de 32 bits, coleção tampado é o maior 1E9 de armazenamento (1X10 9) bytes.

metadados

Informações no banco de dados é armazenado na coleção. Eles usam o sistema namespace:

dbname.system.*

Em MongoDB namespace banco de dados <dbname> .system * que contém uma variedade de informações do sistema, coleções especiais (Collection), como segue:

namespace coleção descrição
dbname.system.namespaces Liste todos os namespaces.
dbname.system.indexes Liste todos os índices.
dbname.system.profile Ele contém o resumo das informações do banco de dados (perfil).
dbname.system.users Liste todos os usuários podem acessar o banco de dados.
dbname.local.sources Ele contém uma cópia das informações final (escravo) servidor e status.

Para modificar o objeto do sistema na coleção tem as seguintes restrições.

Nos {{}} system.indexes inserir dados, você pode criar um índice. Mas, caso contrário as informações da tabela é imutável (o comando especial índice de queda irá atualizar automaticamente a informação relevante).

{{System.users}} são modificáveis. {{System.profile}} será excluído.


tipo de dados MongoDB

A tabela a seguir MongoDB vários tipos de dados comumente usados.

Tipos de dados descrição
corda String. Armazenamento de dados tipos de dados comumente usados. No MongoDB, UTF-8 string codificada é legal.
número inteiro valores inteiros. É usado para armazenar valores. Dependendo do servidor que você está usando, ele pode ser dividido em 32-bit ou 64-bit.
boolean valor booleano. Para armazenar valores booleanos (true / false).
duplo valor de ponto flutuante de precisão dupla. Para armazenar valores de ponto flutuante.
chaves Min / Max O valor mínimo e um elemento de valor BSON (binário JSON) eo maior valor do rácio relativo.
Arrays Para matriz ou lista ou armazenar vários valores para uma chave.
timestamp Timestamp. Modificar ou adicionar registros documentar o tempo específico.
objeto Para documentos incorporados.
nulo Ele cria um valor vazio.
símbolo Símbolo. Este tipo de dados é substancialmente igual ao do tipo de cadeia, mas a diferença é que é geralmente para a utilização de símbolos especiais idioma digitados.
data Data Hora. formato de hora UNIX usado para armazenar a data ou a hora atual. Você pode especificar o seu próprio data e hora: Date objeto é criado, a informação da data de entrada.
Object ID Object ID. ID utilizado para criar o documento.
dados binários dados binários. Para o armazenamento de dados binários.
código tipo de tag. código de JavaScript é usado para armazenar documentos.
expressão regular Tipo de expressão regular. Para armazenar a expressão regular.