SlideShare a Scribd company logo
1 of 16
APPUNTI SU MONGODB
A cura dell’Ing. Buttolo Marco
INTRODUZIONE A MONGODB
• MongoDB è un database NoSQL -> questo vuol dire che non è un
classico database relazionale.
• In poche parole, MongoDB è un database non relazionale orientato ai
documenti. Infatti, in MongoDB, ogni documento rappresenta di fatto
una tabella, ed il contenuto è in formato JSON.
• E’ importante fin da subito notare, come viene mostrato di seguito, il
vantaggio auto esplicativo del formato JSON.
• In mongo si possono avere oggetti simili ma con proprietà differenti. In
mongo DB le tabelle sono le collections.
• Le righe sono i documenti/oggetti da archiviare
• Se si vuole lavorare con MongoDB è necessario per prima cosa
installare il driver per la comunicazione con il linguaggio scelto.
FORMATO JSON
• {
• nome: "Marco",
• cognome: "Buttolo",
• eta: 41,
• data_nascita: "02/09/1977",
• libri_scritti: [
• {
• titolo: "Reti neurali e neurofuzzy",
• lingua: "italiano",
• tipo: "libro tecnico",
• eizione: "Sandit"
• },
• {
• titolo: "Robotica: principi ed applicazioni",
• lingua: "italiano",
• tipo: "libro tecnico",
• eizione: "Sandit«
• },....
• ]
• }
DOWNLOAD MONGODB
• Dal sito ufficiale (https://www.mongodb.com/it), scaricare il server
mongoDB. Una volta scaricato installarlo. Il file eseguibile mongod è il
file del server che deve essere eseguito. La seguente istruzione che
può essere inserita per comodità in un file BATCH server ad indirizzare
il server sulla porta di default di MongoDB specificando il file system per
la collection:
mongod --port 27017 –dbpath c:cartellaxxx
COMANDI DI BASE
COMANDI MONGO DB
• Con il comando mongo si accede al prompt dei comandi del client da
cui è possibile creare un DB, interrogarlo, eccetera…
• Come primo comando digitare help per vedere una sorta di guida dei
comandi principali.
• La seguente figura mostra l’esito della digitazione del comando help:
COMANDI MONGODB
COMANDI MONGODB
• Con il comando show dbs è possibile vedere una lista con i db attivi:
COMANDI MONGODB
COMANDI MONGODB
• Con il comando use (nome db) è possibile attivare il db specificato.
Con il comando show collections è possibile visualizzare tutte le
collezioni di dati del DB attivato.
• Se si desidera visualizzare il contenuto di una collezione di dati è
sufficiente digitare il seguente comando:
• Db.nome_collection.find()
COMANDI MONGODB
COMANDI MONGODB
• Per la cancellazione dell’intero contenuto di una collection basta digitare
il seguente comando:
• La cancellazione è irreversibile.
ESEMPIO DI CONNESSIONE IN C#
• C# è il linguaggio di casa Microsoft e del framework .NET per sviluppare
applicazioni a 360 gradi (dal mondo desktop al mondo web).
• In C# è possibile collegarsi ad un database MongoDB in maniera
piuttosto semplice.
ESEMPIO DI CONNESSIONE IN C#
• public void loadMongoDB()
• {
• //Load DB mongoDB
• MongoClient client = new MongoClient();
• MongoServer server = client.GetServer();
• MongoDatabase objDatabase = server.GetDatabase(«MyDB");
• collectionDoc =
• objDatabase.GetCollection<MODEL.ModelDocument>("test");
}
ESEMPIO DI CONNESSIONE IN C#
• MongoClient è una classe che rappresenta un generico client.
Analogamente MongoServer è una classe che rappresenta un server
MongoDB. A questo punto, è possibile effettuare una semplice query di
test come mostrato di seguito:
• var singleQuery = Query<MODEL.ModelDocument>.EQ(x =>
x.campoTest, idCampoTest);
• listResults = collectionDoc.Find(singleQuery).ToList();

More Related Content

Similar to Introduzione mongodb

Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
MongoDB
 
Creating highly available MongoDB Microservices with Docker Containers and Ku...
Creating highly available MongoDB Microservices with Docker Containers and Ku...Creating highly available MongoDB Microservices with Docker Containers and Ku...
Creating highly available MongoDB Microservices with Docker Containers and Ku...
MongoDB
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101
DotNetCampus
 

Similar to Introduzione mongodb (16)

Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...
Back to Basics, webinar 4: Indicizzazione avanzata, indici testuali e geospaz...
 
MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009
 
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meeting
 
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
 
Creating highly available MongoDB Microservices with Docker Containers and Ku...
Creating highly available MongoDB Microservices with Docker Containers and Ku...Creating highly available MongoDB Microservices with Docker Containers and Ku...
Creating highly available MongoDB Microservices with Docker Containers and Ku...
 
#dd12 Domino e DB2
#dd12 Domino e DB2#dd12 Domino e DB2
#dd12 Domino e DB2
 
MyTask
MyTaskMyTask
MyTask
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
 
Fe04 angular js-101
Fe04   angular js-101Fe04   angular js-101
Fe04 angular js-101
 
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)
Back to Basics 4: Introduzione al partizionamento orizzontale (sharding)
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)5 - Introduzione al Web (2/2)
5 - Introduzione al Web (2/2)
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Domino & Db2 : Gestione documentale
Domino & Db2 : Gestione documentaleDomino & Db2 : Gestione documentale
Domino & Db2 : Gestione documentale
 

More from Marco Buttolo

More from Marco Buttolo (20)

Web sockets
Web socketsWeb sockets
Web sockets
 
Protocollo ssh
Protocollo sshProtocollo ssh
Protocollo ssh
 
Cognitive services
Cognitive servicesCognitive services
Cognitive services
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Corso automazione modulo2
Corso automazione modulo2Corso automazione modulo2
Corso automazione modulo2
 
Corso automazione modulo1
Corso automazione modulo1Corso automazione modulo1
Corso automazione modulo1
 
Antropologia
AntropologiaAntropologia
Antropologia
 
Introduzione psicologia
Introduzione psicologiaIntroduzione psicologia
Introduzione psicologia
 
Bisogni educativispeciali
Bisogni educativispecialiBisogni educativispeciali
Bisogni educativispeciali
 
Seminario robotica ia
Seminario robotica iaSeminario robotica ia
Seminario robotica ia
 
Socket python
Socket pythonSocket python
Socket python
 
Campi elettrici magnetici_devices
Campi elettrici magnetici_devicesCampi elettrici magnetici_devices
Campi elettrici magnetici_devices
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberry
 
Galleggiamento corpo
Galleggiamento corpoGalleggiamento corpo
Galleggiamento corpo
 
Elaborazione suono
Elaborazione suonoElaborazione suono
Elaborazione suono
 
Trattamento termico
Trattamento termicoTrattamento termico
Trattamento termico
 
Introduzione ai cmms
Introduzione ai cmmsIntroduzione ai cmms
Introduzione ai cmms
 
Processo fosfatazione
Processo fosfatazioneProcesso fosfatazione
Processo fosfatazione
 
Processo burattatura
Processo burattaturaProcesso burattatura
Processo burattatura
 

Recently uploaded

Recently uploaded (9)

Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 

Introduzione mongodb

  • 1. APPUNTI SU MONGODB A cura dell’Ing. Buttolo Marco
  • 2. INTRODUZIONE A MONGODB • MongoDB è un database NoSQL -> questo vuol dire che non è un classico database relazionale. • In poche parole, MongoDB è un database non relazionale orientato ai documenti. Infatti, in MongoDB, ogni documento rappresenta di fatto una tabella, ed il contenuto è in formato JSON. • E’ importante fin da subito notare, come viene mostrato di seguito, il vantaggio auto esplicativo del formato JSON.
  • 3. • In mongo si possono avere oggetti simili ma con proprietà differenti. In mongo DB le tabelle sono le collections. • Le righe sono i documenti/oggetti da archiviare • Se si vuole lavorare con MongoDB è necessario per prima cosa installare il driver per la comunicazione con il linguaggio scelto.
  • 4. FORMATO JSON • { • nome: "Marco", • cognome: "Buttolo", • eta: 41, • data_nascita: "02/09/1977", • libri_scritti: [ • { • titolo: "Reti neurali e neurofuzzy", • lingua: "italiano", • tipo: "libro tecnico", • eizione: "Sandit" • }, • { • titolo: "Robotica: principi ed applicazioni", • lingua: "italiano", • tipo: "libro tecnico", • eizione: "Sandit« • },.... • ] • }
  • 5. DOWNLOAD MONGODB • Dal sito ufficiale (https://www.mongodb.com/it), scaricare il server mongoDB. Una volta scaricato installarlo. Il file eseguibile mongod è il file del server che deve essere eseguito. La seguente istruzione che può essere inserita per comodità in un file BATCH server ad indirizzare il server sulla porta di default di MongoDB specificando il file system per la collection: mongod --port 27017 –dbpath c:cartellaxxx
  • 7. COMANDI MONGO DB • Con il comando mongo si accede al prompt dei comandi del client da cui è possibile creare un DB, interrogarlo, eccetera… • Come primo comando digitare help per vedere una sorta di guida dei comandi principali. • La seguente figura mostra l’esito della digitazione del comando help:
  • 9. COMANDI MONGODB • Con il comando show dbs è possibile vedere una lista con i db attivi:
  • 11. COMANDI MONGODB • Con il comando use (nome db) è possibile attivare il db specificato. Con il comando show collections è possibile visualizzare tutte le collezioni di dati del DB attivato. • Se si desidera visualizzare il contenuto di una collezione di dati è sufficiente digitare il seguente comando: • Db.nome_collection.find()
  • 13. COMANDI MONGODB • Per la cancellazione dell’intero contenuto di una collection basta digitare il seguente comando: • La cancellazione è irreversibile.
  • 14. ESEMPIO DI CONNESSIONE IN C# • C# è il linguaggio di casa Microsoft e del framework .NET per sviluppare applicazioni a 360 gradi (dal mondo desktop al mondo web). • In C# è possibile collegarsi ad un database MongoDB in maniera piuttosto semplice.
  • 15. ESEMPIO DI CONNESSIONE IN C# • public void loadMongoDB() • { • //Load DB mongoDB • MongoClient client = new MongoClient(); • MongoServer server = client.GetServer(); • MongoDatabase objDatabase = server.GetDatabase(«MyDB"); • collectionDoc = • objDatabase.GetCollection<MODEL.ModelDocument>("test"); }
  • 16. ESEMPIO DI CONNESSIONE IN C# • MongoClient è una classe che rappresenta un generico client. Analogamente MongoServer è una classe che rappresenta un server MongoDB. A questo punto, è possibile effettuare una semplice query di test come mostrato di seguito: • var singleQuery = Query<MODEL.ModelDocument>.EQ(x => x.campoTest, idCampoTest); • listResults = collectionDoc.Find(singleQuery).ToList();