Mongodb i comandi principali

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

mongodb comandi

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() o insertMany() 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();