English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Introduzione a MongoDB

MongoDB è un database orientato ai documenti, multipiattaforma, che offre prestazioni elevate, alta disponibilità e facilità di estensione. MongoDB si dedica ai concetti di raccolta e documento.

Cos'è MongoDB

MongoDB è un programma di database, scritto in C ++.

  • Gratuito – Non è necessario pagare alcun costo per utilizzarlo nell'applicazione.

  • Open source – L'open source è aperto, e la comunità open source ha contribuito allo sviluppo del programma di database MongoDB.

  • Cross-platform – MongoDB è costruito su una piattaforma (ad esempio Linux) e può essere eseguito su altre piattaforme (Windows, MacOS, ecc.) senza modificare alcun codice.

  • Orientato ai documenti – MongoDB memorizza i record (come documenti) in formato JSON. Questo metodo ha molti vantaggi. Un vantaggio significativo è che non è necessario affrontare problemi per aggiungere nuove funzionalità (colonne) al database (relazionale).

  • NoSQL(Non solo SQL) – MongoDB utilizza un database basato su documenti, in cui ogni documento è una chiave con valori complessi. Il valore del documento può contenere più coppie di chiave-valore.

Database

Il database è un contenitore fisico per la raccolta. Ogni database ha il proprio set di file nel file system. Un server MongoDB di solito ha più database.

Collectore

La raccolta è un insieme di documenti MongoDB. È equivalente a una tabella RDBMS. La raccolta esiste in un singolo database. La raccolta non impone una struttura. I documenti nella raccolta possono avere campi diversi. Di solito, tutti i documenti nella raccolta hanno scopi simili o correlati.

Documento

Il documento è un insieme di coppie di chiave-valore. Il documento ha una struttura dinamica. La struttura dinamica significa che i documenti nella stessa raccolta non devono avere lo stesso campo o set di struttura, e i campi comuni nei documenti della raccolta possono salvare dati di diversi tipi.

La tabella seguente mostra la relazione tra i termini RDBMS e MongoDB.

Sistema di gestione di database relazionaleMongoDB
DatabaseDatabase
TabellaCollectore

Tupla/riga

Documento
ColonnaCampo
Connettività tabellaDocumenti incorporati
Vincolo chiave primariaChiave primaria (predefinita da MongoDB)
Servizi database e client
mysqld / Oraclemongod
mysql / sqlplusmongo

Documenti di esempio

Di seguito è riportato un esempio che mostra la struttura dei documenti del sito web del blog, che è solo una coppia di valori separati da virgola.

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: '基础教程',
   url: 'https://it.oldtoolbag.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      }
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_idÈ un numero esadecimale di 12 byte che garantisce l'unicità di ogni documento. Puoi fornire un id quando inserisci un documento. Se non lo fornisci, MongoDB fornirà un id unico per ogni documento. I primi 4 byte di questi 12 byte sono usati per il timestamp corrente, i seguenti 3 byte per l'id del computer, i seguenti 2 byte per l'id del processo del server MongoDB e i rimanenti 3 byte sono un valore di incrementazione semplice.