‫-: Ben tornato.
‫Spero che tu ti stia divertendo finora in questa sezione.
‫So di esserlo e quindi ora continuiamo
‫a muoverci e impariamo come aggiornare i documenti con Mongodb.
‫Quindi, tornando alla nostra mongoshell,
‫usiamo db. tour. updateOne.
‫Bene?
‫Quindi è simile a . insertone che abbiamo usato
‫per creare un nuovo documento.
‫E ricorda come abbiamo anche avuto . insertmany e
‫quindi abbiamo anche . updatemolti.
‫Ora come fa. updatemolti lavori?
‫Bene, prima dobbiamo selezionare
‫quali documenti vogliamo effettivamente aggiornare e, in secondo
‫luogo, dobbiamo passare i dati che dovrebbero essere aggiornati.
‫Quindi il primo argomento è fondamentalmente un
‫oggetto filtro, proprio come abbiamo imparato nell'ultima lezione.
‫Quindi fondamentalmente abbiamo bisogno di
‫interrogare i documenti che vogliamo aggiornare e iniziamo con
‫questo iniziando in un modo molto semplice.
‫Quindi selezionerò solo in base
‫al nome
‫The Snow Adventure.
‫Bene?
‫Quindi questo è il mio oggetto
‫filtro molto semplice, quindi specificando il tour che voglio aggiornare
‫E ora il secondo
‫oggetto che devo specificare è ciò che voglio effettivamente aggiornare.
‫Quindi un altro oggetto qui e poi chiudiamo la funzione.
‫E quindi qui dobbiamo usare l'operatore set.
‫Quindi, di nuovo, funziona utilizzando gli operatori
‫proprio come in queste query complesse che abbiamo visto nell'ultimo video.
‫Quindi set e poi dobbiamo creare ancora un
‫altro oggetto e infine in questo possiamo specificare la proprietà
‫che vogliamo aggiornare e il valore a cui vogliamo impostarlo.
‫Quindi, in questo caso,
‫ciò che vogliamo fare è impostare il prezzo a 597.
‫Tutto ok?
‫Quindi questo era 497 e ora lo
‫stiamo praticamente aumentando a 597.
‫Tutto ok?
‫Quindi premiamo Invio ed è quindi aggiornato, il nostro tour.
‫Ora, se questa query qui avrebbe
‫trovato corrispondenza con più documenti.
‫Non posso selezionarlo per qualche motivo,
‫ma puoi vederlo.
‫Quindi, se questa query che
‫abbiamo fatto qui avesse selezionato più documenti, solo
‫il primo sarebbe stato aggiornato perché stavamo
‫usando . updatemain.
‫E quindi se sappiamo già in anticipo che la
‫nostra query corrisponderà a più documenti, allora dovremmo
‫usare . updatemolti e
‫non. aggiornamento.
‫Bene?
‫Ora, solo per mostrarti che
‫ha funzionato davvero, diamo un'occhiata a tutti i documenti.
‫Quindi db. tour. trovare e, infatti, abbiamo
‫The Snow Adventure qui con
‫il nuovo prezzo.
‫Grande.
‫Quindi abbiamo aggiornato una proprietà che già esisteva.
‫Quindi il prezzo era già lì e
‫lo abbiamo semplicemente impostato su un nuovo valore, ma
‫possiamo anche creare nuove proprietà e impostarle su nuovi valori, ovviamente.
‫E in realtà funziona allo stesso modo, ma
‫lascia che te lo mostri comunque.
‫E quello che voglio fare qui è trovare tour
‫premium e dare loro un campo premium impostato su true.
‫Quindi quali sono i nostri tour premium?
‫Bene, facciamo prima una ricerca.
‫Quindi, solo per specificare quella query.
‫E in realtà lo abbiamo già fatto prima.
‫Quindi i tour che voglio dovrebbero avere un prezzo maggiore di 500 e
‫una valutazione maggiore o uguale a 4. 8.
‫Quindi questi sono davvero i nostri tour premium,
‫in pratica, quindi davvero quelli che sono
‫più costosi e più apprezzati.
‫Quindi, creare questa query è in realtà abbastanza semplice.
‫E ancora perché in realtà l'abbiamo già fatto prima.
‫Ora quello che voglio che tu faccia qui è mettere
‫in pausa il video e anche
‫se te lo ricordi, digita questa query da solo.
‫E se non te lo ricordi, beh, è ancora meglio, allora
‫puoi mettere in pratica ciò che hai
‫appena imparato nell'ultimo video.
‫Tutto ok?
‫Quindi, per favore, metti in pausa il video qui
‫e prova a fare questa domanda da solo.
‫Quindi di nuovo vogliamo che il prezzo sia maggiore di 500
‫e il rating maggiore o uguale a 4. 8.
‫Ok, spero che tu l'abbia fatto.
‫E questa è la soluzione.
‫Quindi il prezzo dovrebbe essere maggiore o uguale a 500 e la valutazione dovrebbe
‫essere maggiore o uguale a 4. 8.
‫Bene?
‫E qui impostiamo solo maggiore di che
‫in realtà è lo stesso.
‫Ci darà lo stesso risultato.
‫Ma non importa, facciamo esattamente come ho detto.
‫E quindi, giusto per essere sicuri, vediamo se otteniamo il
‫risultato perfetto e in effetti questo è il
‫tour che ha questo prezzo premium e allo stesso tempo
‫questo rating premium.
‫Bene?
‫E in questo caso, abbiamo un solo risultato
‫ma, ovviamente, potremmo avere più risultati.
‫E quindi ora usiamo . updatemolti.
‫Quindi db. tour. updatemolti.
‫E quindi il nostro oggetto filtro che vogliamo è questo.
‫Quindi lo sto solo copiando da qui.
‫Quindi questo è il primo argomento e
‫poi il secondo è in realtà ciò che vogliamo aggiornare.
‫Ricordati che?
‫Quindi di nuovo usiamo l'operatore set
‫e poi diciamo che vogliamo che premium sia vero.
‫Bene?
‫E quindi questa volta creiamo effettivamente un nuovo campo
‫qui e lo impostiamo su true.
‫Bene?
‫Dagli un salvataggio e in realtà ci mancava qualche
‫parentesi di chiusura e quindi non possiamo davvero tornare indietro,
‫quindi fammi provare ad aggiungerlo qui.
‫Ma questo non funziona davvero, ma comunque
‫non importa, possiamo semplicemente tornare all'ultimo
‫comando e quindi correggerlo.
‫Quindi questo è il tutore che ci mancava,
‫quindi chiudilo e ci siamo.
‫Quindi db. tour. trova solo per controllarlo ora.
‫E qui abbiamo l'ultimo che ora
‫ha premium impostato su true.
‫E ancora, questo era l'unico documento che
‫corrispondeva alla nostra query e quindi è l'unico che ha ottenuto
‫questa nuova
‫proprietà premium qui, ma se ci fossero più
‫documenti che corrispondono a quella query, allora tutti
‫avrebbero ottenuto questo premium true.
‫Bene?
‫Ecco perché abbiamo usato . updatemany e ricorda
‫se abbiamo usato . updateone quindi viene
‫aggiornato solo il primo documento che corrisponde alla query.
‫Bene?
‫Quindi è così che aggiorniamo i documenti almeno in parte così
‫con questo . updatemolti o . updateone di
‫solito aggiorniamo solo parti del documento, ma
‫possiamo anche sostituire completamente il contenuto del documento.
‫E per questo usiamo . sostituire uno.
‫Non ho intenzione di farlo,
‫ma per completezza ho voluto mostrarlo anche a te.
‫Quindi db. tour. sostituire uno o . sostituiscine molti, ok?
‫E così qui, proprio come prima, passeresti
‫la query di ricerca e poi i nuovi dati che
‫vuoi inserire in questo documento.
‫Va bene, non lo farò qui.
‫Ma ora sai che esiste anche.
‫E così abbiamo già completato tre delle
‫nostre operazioni corrette.
‫Quindi creazione, lettura e aggiornamento e, come
‫puoi intuire, nel prossimo video parleremo
‫dell'eliminazione dei documenti.