‫Istruttore: Ciao e bentornato.
‫Quindi, ora è finalmente il momento di connettere il database MongoDB
‫che abbiamo creato con la nostra applicazione Express.
‫E il primo passo per farlo
‫è ottenere effettivamente la nostra stringa di connessione da Atlas.
‫Quindi, proprio come abbiamo fatto prima quando abbiamo collegato
‫il database a Compass e a
‫Mongo Shell, dobbiamo ottenere la
‫nostra stringa di connessione per connettere l'applicazione a questo database ospitato.
‫Ora, nel caso in cui non utilizzi il database
‫ospitato su Atlas, ti mostrerò anche
‫come connettere il tuo database locale con
‫l'applicazione un po' più avanti in questo video.
‫Ad ogni modo, fai clic qui su Connetti la tua applicazione e
‫poi questa è la nostra stringa di connessione.
‫Assicurati solo di selezionare Node. js qui in realtà
‫perché la stringa potrebbe cambiare in base a quello.
‫Ora, abbiamo anche bisogno della versione.
‫E, naturalmente, sono più tardi delle tre.
‫E così, ora andiamo avanti e copiamo la nostra stringa di
‫connessione e poi di nuovo nella nostra applicazione,
‫la creiamo come variabile d'ambiente qui nel
‫nostro file di configurazione.
‫Quindi, ho già DATABASE_PASSWORD.
‫Creiamo DATABASE ora.
‫E poi, metti la nostra stringa qui.
‫Ora, due cose su questa stringa di connessione.
‫Per prima cosa, qui in questo posto, dobbiamo inserire la nostra password.
‫Ora, potremmo andare avanti e copiare la password da
‫qui e poi incollarla qui, ma
‫preferisco lasciarla in una variabile separata e
‫poi sostituirla nel codice.
‫In realtà cambierò questa password qui con
‫una password maiuscola.
‫Quindi, PASSWORD per renderlo un po' più visibile.
‫Quindi, in secondo luogo, questo qui è in realtà
‫il nostro host, quindi fondamentalmente il luogo in cui è ospitato
‫il database e quindi /test.
‫Ora, questo test qui è il nome del database
‫a cui vogliamo connetterci.
‫E, nel nostro caso, abbiamo già creato il database natours.
‫Verifichiamolo in realtà qui su Compass.
‫E, se andiamo qui su
‫COLLEZIONI, vediamo che qui abbiamo già il nostro database natours.
‫Quindi, lo abbiamo fatto entro la fine dell'ultima sezione.
‫Ti ricordi?
‫Quindi, è molto importante che qui,
‫in questa stringa di connessione, sostituiamo questo test con il
‫nome del nostro database.
‫Allora, natours, ok?
‫Quindi, molto importante qui, di
‫nuovo, non dimenticare di metterlo qui, altrimenti
‫non funzionerà.
‫Ora, nel caso tu stia usando il database locale
‫come ho appena menzionato prima,
‫questa stringa di connessione è molto più semplice.
‫Quindi,
‫creiamo anche una variabile per quella, DATABASE_LOCAL.
‫Ma, ancora una volta, se stai usando questa stringa di database
‫qui, non devi preoccuparti di questa parte.
‫Lo sto facendo solo
‫nel caso tu stia usando quello locale.
‫E quindi, in questo caso, è abbastanza semplice.
‫È solo mongodb e questo è una specie di protocollo qui.
‫Quindi, invece di http, Mongo usa questi come mongodb e protocol o
‫qualcosa del genere.
‫Quindi, localhost e poi il
‫porto, di cui abbiamo
‫già parlato un paio di volte ed è 27017, ricordi?
‫E poi, proprio come prima,
‫dobbiamo anche specificare il nome del database, che
‫dovrebbe essere natours.
‫Ora, affinché funzioni, ovviamente, devi
‫mantenere il tuo server MongoDB in
‫modo che il processo Mongo D sia sempre in esecuzione.
‫Quindi, passando al terminale.
‫Quindi, questo processo locale qui è quello che intendo.
‫Quindi, non chiudere mai questo processo, quindi questa finestra di terminale,
‫quando lavori con il tuo database locale.
‫Quindi, altrimenti, non funzionerà.
‫E questo è tutto per la configurazione.
‫Successivamente, dobbiamo installare un driver MongoDB, quindi
‫fondamentalmente un software che consente al nostro codice
‫Node di accedere e interagire con un database MongoDB.
‫E ci sono un paio di diversi driver
‫MongoDB, ma useremo
‫quello che direi il più
‫popolare, che si chiama Mongoose, che aggiunge un paio
‫di funzionalità al driver MongoDB più nativo.
‫Ma non preoccuparti, nella prossima
‫lezione imparerai davvero tutto su Mongoose e
‫perché lo usiamo.
‫Per ora, andiamo avanti e installiamolo.
‫Quindi, mangusta, e la versione
‫che userò è la versione cinque, quindi
‫per favore vai avanti e installa anche la versione cinque in
‫modo che siamo sulla stessa pagina con il nostro codice qui.
‫Quindi, quando guardi questo video, Mongoose
‫sei, o forse anche sette, potrebbe essere già là
‫fuori e quindi qualcosa potrebbe
‫essere cambiato e
‫quindi il tuo codice potrebbe non funzionare esattamente allo stesso modo.
‫Quindi, installa solo la versione cinque perché
‫in realtà è una versione abbastanza
‫stabile a questo punto e
‫non credo che aggiungeranno funzionalità molto importanti in
‫futuro.
‫Quindi, nel nostro pacchetto. json, ora dovrebbe essere qui.
‫Quindi, 5. 5. 2, il tuo è probabilmente un
‫po' più tardi, ma non dovrebbe essere un problema.
‫Passiamo ora al server. js qui, che, ricorda,
‫è il tipo di file in cui
‫eseguiamo tutte le impostazioni della nostra applicazione.
‫Ad esempio, le variabili
‫di ambiente o le importazioni o l'applicazione Express.
‫E avviamo anche il server qui sotto.
‫E quindi, questo è
‫anche il file in cui configureremo MongoDB.
‫Quindi, iniziamo richiedendo il nostro pacchetto di mangusta qui.
‫E così, ora abbiamo accesso alla
‫variabile mangusta e lì chiamiamo semplicemente il metodo connect.
‫Ora, in questo metodo di connessione, dobbiamo,
‫ovviamente, passare la nostra stringa di connessione al database.
‫Ma ricorda che, lì dentro, abbiamo ancora la password.
‫Quindi, fondamentalmente questo segnaposto per la password qui.
‫E quindi, prima di passare la
‫stringa, dobbiamo effettivamente sostituirla.
‫Quindi, sostituiscilo con la vera password che abbiamo qui.
‫Quindi, facciamolo velocemente.
‫E chiamerò semplicemente questo DB variabile per il database.
‫E così, otteniamo il nostro processo. avv. BANCA DATI.
‫Quindi, questa è, ovviamente, la nostra variabile in cui è
‫memorizzata la stringa qui.
‫Quindi, lo prendiamo e poi lo sostituiamo.
‫E, vogliamo sostituire PASSWORD.
‫Questo qui deriva dal pacchetto di tag di chiusura HTML
‫che ho sul mio VS Code.
‫Quindi, processo. avv. DATABASE_PASSWORD.
‫Dagli un salvataggio.
‫E, ok, quindi ha senso.
‫Quindi, stiamo semplicemente sostituendo questa stringa
‫segnaposto con la nostra vera password in questa stringa di connessione.
‫E così, ora possiamo usare questa variabile
‫nei nostri mongoo. Collegare().
‫Quindi, qui, il primo argomento è
‫in realtà quella stringa di connessione, quindi DB.
‫E poi, in secondo luogo, passiamo un
‫oggetto con alcune opzioni e queste sono solo alcune
‫opzioni che dobbiamo specificare per gestire alcuni avvisi di deprecazione.
‫Quindi, non preoccuparti troppo di questi.
‫Quindi, usaNewUrlParser, impostalo su true.
‫Quindi, dobbiamo usare useCreateIndex, anch'esso impostato su
‫true.
‫Quindi, usaFindAndModify e impostalo
‫su false.
‫Quindi, di nuovo, queste sono solo alcune opzioni
‫per gestire alcuni avvisi di deprecazione.
‫E così, quando crei le
‫tue applicazioni, vai avanti e usa esattamente lo stesso.
‫Ora, questo metodo di connessione qui
‫restituirà una promessa e quindi gestiamo effettivamente quella promessa usando then().
‫E questa promessa qui effettivamente ottiene l'accesso a
‫un oggetto di connessione.
‫Quindi, chiamiamolo semplicemente con qui per la connessione.
‫Quindi, sostanzialmente
‫questa connessione sarà il valore risolto della promessa.
‫E così, solo per mostrarti che siamo
‫effettivamente connessi, voglio solo registrare questo oggetto sulla console.
‫Quindi, consolati. log connection e in realtà
‫voglio vedere la proprietà delle connessioni lì.
‫E possiamo anche
‫accedere alla console come una connessione DB riuscita.
‫Salvalo qui.
‫E poi, ovviamente, mostra questi avvertimenti qui a
‫causa del nostro ESLint, ma non preoccuparti di questo.
‫Questo è solo il modo in cui l'abbiamo configurato.
‫E quindi,
‫ora andiamo avanti ed eseguiamo effettivamente questa applicazione.
‫Ora, fammi ricordare che tipo di script abbiamo.
‫Quindi, abbiamo start:dev e start:prod.
‫Ora, poiché il nostro script qui non
‫si chiama semplicemente
‫start, che è una specie di standard, dobbiamo sempre digitare
‫npm run start:dev invece di scrivere solo npm start, senza run.
‫E quindi, lasciami andare
‫avanti e cambiare il nome qui per ricominciare.
‫E poi, abbiamo inizio per la produzione.
‫Quindi, inizio npm.
‫L'app è in esecuzione ora.
‫E, in effetti, la nostra connessione al database ha avuto successo.
‫Quindi, fantastico.
‫E ora, qui abbiamo il nostro oggetto connessioni e,
‫come vedi, ci sono un sacco di
‫cose qui e possiamo vedere il nostro nome utente qui,
‫host, la password, ovviamente.
‫E questa roba qui non ha molta importanza, ovviamente.
‫Volevo solo registrarlo qui solo
‫per vedere che la nostra connessione ha avuto successo.
‫E quindi, liberiamoci di questo.
‫E possiamo effettivamente sbarazzarci di tutto questo anche qui.
‫Quindi, questa è solo una battuta qui.
‫Oh sì, manca solo questa parentesi.
‫Ora, qui, mi sta dicendo che abbiamo dichiarato questa variabile,
‫ma non l'abbiamo mai usata, quindi sbarazziamoci di essa.
‫Ora, solo come passaggio
‫finale, lascia che ti mostri come potremmo
‫anche connetterci al database locale, di
‫nuovo, nel caso tu lo stia usando.
‫Quindi, duplichiamo questa riga, commentiamola.
‫Quindi, questa è la versione del
‫database ospitato e quindi qui dovremmo solo inserire quella locale.
‫Quindi, questo è DATABASE_LOCAL.
‫Diamo un salvataggio.
‫E siamo anche collegati con successo a quello.
‫Quindi, è proprio come lo faresti in quel caso.
‫Ma, come ho detto,
‫in questo corso utilizzeremo effettivamente quello
‫ospitato, quindi è quello che tengo qui.
‫In realtà, sto eliminando questo.
‫Non ne abbiamo più bisogno.
‫Ora, ovviamente, potrebbero
‫esserci anche problemi di connessione al database.
‫Ad esempio, l'host potrebbe essere inattivo
‫o potremmo avere qualche errore nella nostra stringa
‫di connessione e, in tal caso, dovremmo rilevare quell'errore.
‫Tuttavia, lasceremo la gestione degli
‫errori per un po' più avanti nel
‫corso e quindi per ora non ho alcun metodo di cattura qui.
‫Solo il metodo allora
‫qui, supponendo che tutto funzioni bene.
‫E ora, finalmente, voglio andare avanti
‫ed eliminare la
‫raccolta che abbiamo già creato nel nostro
‫database solo in modo che il nostro driver Mongoose non
‫interferisca in alcun modo con questo in modo che non ci siano problemi.
‫E quindi, torniamo ad Atlas qui.
‫Colpisci le nostre COLLEZIONI.
‫E poi, elimina semplicemente la raccolta da qui.
‫E ora, dobbiamo inserire qui il nome della
‫collezione solo per non commettere errori qui.
‫Quindi, lascia perdere e va bene.
‫Quindi, ora abbiamo un database vuoto
‫qui, pronto per iniziare a riempire con i nostri dati a
‫partire dai prossimi due video.