Latest web development tutorials

MongoDB concetto analitico

Se impariamo che cosa dati dovrebbero imparare uno dei concetti fondamentali in MongoDB concetto di base è che i documenti, collezioni, basi di dati, qui si introduce uno per uno.

La seguente tabella vi aiuterà più facile da capire alcuni concetti Mongo:

SQL Terminologia / Concetti termine MongoDB / concetto Spiegazione / Descrizione
banca dati banca dati Database
tavolo collezione tabella di database / Collezioni
fila documento registrazione dei dati Line / Documentazione
colonna campo Campo dati / Dominio
indice indice indice
tavolo si unisce Tabella unisce, MongoDB non supporta
chiave primaria chiave primaria Chiave primaria, MongoDB campo automaticamente _id come la chiave primaria

Seguendo esempi figura, possiamo comprensione più intuitiva di Mongo alcuni concetti:


Database

Un MongoDB può creare più database.

Il database predefinito MongoDB è "db", il database è memorizzato nella directory dei dati.

Una singola istanza di MongoDB può ospitare più database indipendenti, ciascuno con il proprio insieme di permessi e database diversi sono anche messo in file diversi.

"Mostra DBS" comando per visualizzare un elenco di tutti i dati.

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

L'attuazione di comando "db" per visualizzare l'oggetto di database corrente o di raccolta.

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

RUN "usare" il comando, è possibile connettersi a un database specifico.

> use local
switched to db local
> db
local
> 

Esempi di comando precedente, "locale" è che si desidera collegare database.

Nel prossimo capitolo spiegheremo nel dettaglio l'uso di MongoDB al comando.

Database anche essere identificata per nome. Il nome del database può essere una qualsiasi delle seguenti condizioni stringa UTF-8.

  • Non può essere una stringa vuota ( "").
  • Non contenere '' (spazio)., $, /, \ E \ 0 (null Yu Fu).
  • Dovrebbe essere tutto minuscolo.
  • Fino a 64 byte.

Alcuni nomi dei database sono riservati e possono accedere direttamente questi database hanno un ruolo speciale.

  • admin: dal punto di vista delle autorità, che è la base di dati "root". Se si aggiunge un utente al database, l'utente eredita automaticamente tutti i database di permessi. Alcuni comandi specifici sul lato server può essere eseguito solo dal database, ad esempio un elenco di tutti i database o server.
  • locale: Questi dati saranno mai essere copiato, può essere utilizzato per memorizzare qualsiasi raccolta è limitata a un singolo server locale
  • config: Quando Mongo per la frammentazione è impostato, database di configurazione utilizzato internamente per la memorizzazione di informazioni fetta.

file

La documentazione è una chiave (valore-chiave) del (cioè BSON). documento MongoDB non sia necessario fornire lo stesso campo, lo stesso campo e non richiede lo stesso tipo di dati, che è un database relazionale è molto diversa, MongoDB anche caratteristica molto importante.

Un semplice esempio documenti sono i seguenti:

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

Nella tabella seguente sono elencati i termini corrispondenti RDBMS e MongoDB:

RDBMS MongoDB
Database Database
tavolo insieme
fila file
fila campo
Tavolo congiunto documento incorporato
chiave primaria Chiave primaria (MongoDB fornisce una chiave per la _id)
Servizi di banche dati e clienti
Mysqld / Oracle mongod
mysql / sqlplus mongo

Si noti che:

  1. coppie chiave / valore del documento sono ordinate.
  2. Documento può essere non solo il valore della stringa all'interno delle virgolette può essere anche diversi altri tipi di dati (o addirittura l'intero documenti incorporati).
  3. MongoDB per distinguere i tipi e sensibile.
  4. documento MongoDB non può avere chiavi duplicate.
  5. documento chiave è una stringa. Con poche eccezioni, la chiave può utilizzare qualsiasi caratteri UTF-8.

Documenti chiave convenzione di denominazione:

  • Chiave non può contenere \ 0 (carattere nullo). Questo carattere viene usato per indicare la fine del legame.
  • . E $ hanno essere utilizzato solo significato speciale in determinate circostanze.
  • Per sottolineare "_" all'inizio dei tasti sono riservati (non strettamente necessario).

insieme

MongoDB è un gruppo di documenti raccolta, simile al RDBMS (relational database management system: Relational Database Management System) in forma.

Collezione esiste nel database, una raccolta di alcuna struttura fissa, il che significa che è possibile inserire nella raccolta dei dati in diversi formati e tipi, ma di solito ci inserire una serie di dati avrà una certa rilevanza.

Ad esempio, siamo in grado di documentare le diverse strutture di dati nella collezione:

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

Quando sarà creato il primo documento nella collezione.

nome della raccolta legittima

  • Il nome della collezione non può essere una stringa vuota "".
  • Impostare nome non può contenere carattere \ 0 (carattere nullo), questo carattere indica la fine di una collezione di nomi.
  • Impostare nome non può essere "sistema". All'inizio, riservato per il prefisso set sistema.
  • nome della raccolta creato dall'utente non può contenere caratteri riservati. Alcuni driver supportano la raccolta che contiene il nome, questo è perché qualche raccolta generata dal sistema contiene il carattere. A meno che non si desidera accedere a una raccolta di un tale sistema è stato creato, altrimenti non appaiono nel nome $ all'interno.

I seguenti esempi:

db.col.findOne()

collezioni innevate

collezioni innevate sono la raccolta di dimensione fissa.

Ha caratteristiche elevate prestazioni e la coda è scaduto (scaduto in conformità con l'ordine di inserimento). Piuttosto simile e il concetto di "RRD".

collezioni Capped vengono inseriti automaticamente per mantenere oggetto alte prestazioni. E 'ideale per le funzioni e simili collezione di registrazione standard di più, è necessario creare in modo esplicito una collezione innevate, una collezione del formato specificato, in byte. insieme di valori di spazio di archiviazione dati assegnati in anticipo.

Si osserva che la dimensione di memoria specificato del database che contiene le informazioni di intestazione.

db.createCollection("mycoll", {capped:true, size:100000})
  • In collezione innevate, è possibile aggiungere nuovi oggetti.
  • Può essere aggiornato, tuttavia, l'oggetto non aumentare lo spazio di memorizzazione. Se si aumenta l'aggiornamento non riuscirà.
  • Il database non consente l'eliminazione. Utilizzare goccia () per eliminare tutta la collezione righe.
  • Nota: Dopo aver eliminato, è necessario ricreare in modo esplicito la collezione.
  • Nelle macchine a 32 bit, la raccolta innevate è il più grande 1E9 stoccaggio (1X10 9) byte.

Metadati

Le informazioni nel database è archiviato nella raccolta. Essi utilizzano il sistema dello spazio dei nomi:

dbname.system.*

In MongoDB namespace del database <dbname> .System * che contiene una serie di informazioni di sistema, collezioni speciali (Collection), come segue:

collezione namespace descrizione
dbname.system.namespaces Elenco di tutti gli spazi dei nomi.
dbname.system.indexes Elencare tutti gli indici.
dbname.system.profile Esso contiene le informazioni di riepilogo del database (profilo).
dbname.system.users Elencare tutti gli utenti possono accedere al database.
dbname.local.sources Esso contiene una copia della fine (slave) informazioni e lo stato del server.

Per modificare l'oggetto di sistema nella collezione presenta le seguenti limitazioni.

Nei {{}} system.indexes Inserisci dati, è possibile creare un indice. Ma per il resto le informazioni della tabella è immutabile (il comando speciale indice di caduta aggiorna automaticamente le informazioni rilevanti).

{{}} System.users sono modificabili. {{}} System.profile viene eliminato.


MongoDB tipo di dati

Nella tabella seguente sono MongoDB diversi tipi di dati di uso comune.

Tipi di dati descrizione
stringa Stringa. Memorizzazione dati comunemente utilizzati tipi di dati. In MongoDB, UTF-8 stringa codificata è legale.
numero intero valori interi. E 'utilizzato per memorizzare i valori. A seconda del server in uso, può essere diviso in 32-bit o 64-bit.
booleano valore booleano. Per memorizzare i valori booleani (vero / falso).
doppio valore a virgola mobile a doppia precisione. Per la memorizzazione di valori in virgola mobile.
chiavi Min / Max Il valore minimo ed un valore di elemento BSON (binario JSON) e il valore massimo del rapporto relativo.
Array Per array o lista o memorizzare più valori per una chiave.
timestamp Timestamp. Modificare o aggiungere record documentano il momento specifico.
oggetto Per i documenti incorporati.
nullo Si crea un valore vuoto.
simbolo Simbolo. Questo tipo di dati è sostanzialmente uguale al tipo di stringa, ma la differenza è che è generalmente l'uso di simboli speciali lingua digitato.
data Data Ora. formato ora UNIX utilizzato per memorizzare la data o l'ora corrente. È possibile specificare il proprio data e l'ora: è stato creato Data oggetto, le informazioni sulla data in entrata.
Object ID Object ID. ID usato per creare il documento.
dati binari dati binari. Per la memorizzazione dei dati binari.
codice Tipo di tag. codice JavaScript viene utilizzato per archiviare documenti.
espressione regolare Tipo di espressione regolare. Per la memorizzazione l'espressione regolare.