Questi sono alcuni semplici comandi per utilizzare MongoDb una vola che ne abbiamo fatto l’installazione.
Per accedere al database possiamo utilizzare semplicemente il comando
mongo -u NOMEUTENTE --port 27017 -p -d DATABASE
una volta all’interno di MongoDb possiamo
Database, elenco e creazione
Per visualizzare l’elenco dei database posso usare i comandi
> show dbs
> show database
Usare un database/collection esistente o crearne una se non esiste
use NUOVODB
otteniamo una risposta simile a switched to db NUOVODB
Essendo entrato nel nuovo database, dobbiamo per prima cosa iniziare a capire quali documenti sono salvati. In un DB sql avremmo le tabelle, in questo caso abbiamo le collections. Quindi listiamo le collections presenti.
show collections
Tabella o meglio Collection ed inserire dati
Aggiungere una nuova tabella/documento con
db.collection
e si ottiene come risposta NUOVODB.TABELLA
ed infine per inserire un valore abbiamo due strade che sono pressochè identiche:
- il metodo specifico,
insertOne()
oinsertMany()
dove vado ad indicare esattamente quante voci inserire. - il metodo unico,
insert()
dove uso il medesimo comando ma è direttamente il database a capire se richiedo un solo inserimento o più inserimenti (tramite un array di oggetti).
// funzione specifica
db.collection.insertOne({'nome':"Marco",'cognome':"Pincopallo",'citta':"Milano"})
db.collection.insertManydb([{'nome':"Elena",'cognome':"Gialla",'citta':"Roma"},{'nome':"Sandra",'cognome':"Viola",'citta':"Genova"},{'nome':"Andrea",'cognome':"Bianchi",'citta':"Como"}])
//funzione univoca
db.collection.insert({'nome':"Luca",'cognome':"Pozzi",'citta':"Lucca"})
db.collection.insert([{"nome":"Luigi","cognome":"Verdi","citta":"Bari"},{"nome":"Sandro","cognome":"Pesce","citta":"Forli"},{"nome":"Marco","cognome":"Marrone","citta":"Forli"},{"nome":"Marco","cognome":"Leone","citta":"Milano"}])
Ricerca dei dati
Eseguire una ricerca di dati è piuttosto semplice, basta infatti usare la funzione find()
//restituisce tutti i valori presenti nella tabella
db.collection.find()
//restituisce solo i valori richiesta dalla combinazione campo:valore
db.collection.find("campo":"valore")
Altre informazioni relative alla ricerca, con le opzioni per rendere piu complesse le interrogazioni si possono trovare in
https://www.mongodb.com/docs/manual/reference/operator/query/
Modifica o aggiornamento dei dati
La modifica dei dati può essere fatta su un solo campo, o su più. In alcuni casi la modifica si può fare anche su tutti i campi presenti. Se il campo da modificare non è ancora presente nel documento, viene creato e riempito con il valore assegnato.
//Per aggiornare un singolo documento
db.collection.updateOne({nome: ""Luca}, {$set: {citta="Como"}})
//Per aggiornare più documenti
db.collection.updateMany(filter,update,option).
//aggiorno tutti i documenti che hanno il field citta=Roma assegnando il cap
db.collection.updateMany({citta:"Roma"},{$set: {cap:"00100"}})
//aggiorno tutti i documenti incrementado il cap dove presente di 1 (dal 00100 a 00101)
db.collection.updateMany({},{$inc: {cap:1} })
//con l'opzione
db.collection.updateMany({nome:"Massimo"},{$set: {stato:"Italia",eta:"25"}},{upsert: true});
To replace a document, use
db.collection.replaceOne().
Cancellazione dei dati
//cancello un solo utente
db.collection.deleteOne({nome:"Massimo"})
//utilizzare gli operatori $and con array
db.collection.deleteMany({$and: [{citta:"Roma"},{$gt: {eta:20}} ]})
//cancello tutta la collection
db.collection.deleteMany();