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:
- coppie chiave / valore del documento sono ordinate.
- 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).
- MongoDB per distinguere i tipi e sensibile.
- documento MongoDB non può avere chiavi duplicate.
- 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. |