OK bentornato.
Finora abbiamo visto come interagire con Mongo TV usando la console Mongo che, come ho detto, è utile per insegnare le
cose e per testare le cose e il debug, ma non è dove scriveremo effettivamente la
maggior parte del nostro codice che interagisce con database in cui lo faremo effettivamente anziché
il nostro codice espresso.
Quindi tirano su un esempio andiamo al campo di Yelp e diamo un'occhiata alla sua app.
Sì.
Ecco un esempio di dove useremmo mangu.
Quindi, ad esempio, quando aggiungiamo un nuovo campeggio al nostro array piuttosto che aggiungere campeggi a un array,
avremmo un database con un database mongo e una raccolta denominata campeggio.
E questo in realtà arriverà molto presto in questa serie.
E poi quando invii una richiesta di posta per tagliare
il campeggio piuttosto che spingere in un array che inseriremo nella collezione di Mongar DP, compaiono anche nei campeggi
tagliati piuttosto che solo nei campeggi con i campeggi allineati qui definiti.
In realtà, faremo una ricerca per trovare un campeggio D-B, quindi prendiamo i risultati e li inviamo
al modello del campeggio.
OK.
Quindi ci arriveremo.
Quindi questo è quello che ci stiamo concentrando su questa lezione.
E per farlo impareremo a conoscere uno strumento chiamato mangusta.
Quindi ho tre obiettivi principali in cui ti dico quali manguste spiegano perché la stiamo usando.
E voglio anche mostrarti come usarlo invece di un file javascript.
Iniziamo parlando di cosa sia Mangusta.
Quindi ho aperto la home page ufficiale.
Si dice che Mongoose sia un'elegante modellazione di oggetti Mongo DB per nessun genio.
OK.
Leggiamo un po 'di più.
Mongoose fornisce una soluzione semplice basata su schemi per modellare i dati dell'applicazione.
Include built in typecasting validation queery che costruisce business logic coassiale e molto
altro ancora.
Quindi penso che questo avrebbe più senso per uno sviluppatore esperto.
Ma ciò che significa in realtà è che Mongoose è uno strumento.
È un pacchetto che stiamo per scaricare con NPM che ci aiuta a interagire con Mongo D-B
invece dei nostri file javascript.
È possibile farlo senza mangusta.
C'erano altri strumenti come questo, ma ci rendiamo più facile interagire con il database proprio
come Jay Querrey ci rende più facile interagire con Dom ma non dobbiamo avere una query.
Mongoose rende più facile e più pulito per noi interagire con il database DB di Monkhood ma non è necessario.
Quindi torniamo a cloud 9 e ho intenzione di andare avanti e creare un singolo file javascript.
Yes e quando eseguirò il file vorremmo che aggiungesse qualcosa al nostro database usando mangusta.
Non sarà un'app express, sarà solo un singolo file che eseguirò con il nodo node dopo
Quindi inizierò.
Sono all'interno di una directory che ho creato come database e creerò un file.
E chiamiamolo gatti.
Sì, ho fatto troppe cose da cani.
So che ho intenzione di lamentarmi.
Fare alcuni gatti così bene da prendere sul serio e poi dentro quello.
un pacchetto.
Apriamolo e prima di fare qualsiasi altra cosa installerò la mangusta che è
Lì andiamo e facciamo un po 'di spazio qui e la prossima cosa che vogliamo
fare è richiedere che la mangusta che farà i nostri mangimi equini richieda mangusta e quello che faremo prima sarà focalizzato sull'aggiunta
di un nuovo gatto al database e poi in seguito recupereremo tutti i gatti dal database e faremo una semplice
console che ne registra ognuno
proprio così.
OK, quindi inizieremo a capire come aggiungeremo un nuovo gatto al database.
po 'più di impostazione che dobbiamo fare con Mongoose, che è necessario connettersi a un database.
E prima ancora di farlo, c'è un
Quindi ricorda come abbiamo questo in esecuzione in background.
Questo è il nostro mongolo Mongo.
Dobbiamo continuare a farlo.
Quindi se lo spegni per qualche motivo assicurati di riaccenderlo con quel comando Man-God
e poi diremo a mongoose di connettersi a questo server che abbiamo
in esecuzione e che sembra che questa mangusta si connetta e poi un URL che deve assomigliare a questa barra dei due punti di Mongo DB taglia la barra
del localhost.
E poi qualsiasi cosa vogliamo venire dopo.
Questo è il nome per il nostro database.
E proprio come prima, se non abbiamo creato il database, diciamo chiamalo app Cat. Non ho ancora un database
di app per gatti.
E se lo eseguo, si connetterà e cercherà di trovare l'app Cat che non lo troverà e renderà
l'app Cat per me.
Ma se ce n'è uno, e lo troverà, userà l'app cat preesistente.
Quindi andrò con l'app per gatti.
Per me va bene.
E questo ora si collegherà al nostro database e possiamo verificarlo proprio eseguendo il nostro file node
cat cats.
Sì.
Non riceviamo un errore, il che significa che tutto funziona correttamente.
Quindi possiamo controllare C da questo.
E ora quello che vogliamo fare è concentrarsi sull'aggiunta di un gatto al database.
E prima che possiamo farlo, dobbiamo effettivamente definire come appare un gatto.
Quindi lo farò qui e vedrai un po 'di sintassi nuova un po'.
Un sacco di nuovi metodi che vengono con Mongoose che non hai mai visto prima
e prometto che li spiegherò tutti, ma comincerò semplicemente digitandolo.
Quindi definiamo il nostro schema di gatto uguale a nuovo schema di punti di mangusta con una perdita di capitale in cui passiamo un oggetto dentro
e poi all'interno dell'oggetto diciamo che un gatto ha un nome che è una stringa di un'età che è un numero e che possiamo fare Breede, anche
se mi sto rendendo conto che in realtà non conosco molte razze di gatti, quindi cambierò questo comportamento
per dire che è una parola molto difficile da pronunciare.
Mi dimentico sempre di questo.
A penso che abbia capito bene.
Così farà il temperamento e quella sarà una stringa pure.
OK.
E salveremo.
E questo in realtà non fa nulla per il nostro database.
Dice solo mangusta o javascript.
Dice il lato javascript delle cose che voglio essere in grado di aggiungere gatti al nostro database e
un gatto dovrebbe essere definito come questo potrebbe chiedere a te stesso non è questo.
No.
Q Bene sono non relazionali.
Questo non significa che non devo definire un tavolo.
Sì, è giusto.
Questo non sta definendo una tabella.
Questo sta definendo uno schema per i nostri dati, ma ciò non significa che ci sia vietato
aggiungere nuove cose o lasciare certe cose.
di una sorta di struttura prevedibile per scrivere codice in grado di gestire questi gatti.
È solo un bel modo di fornire una struttura perché abbiamo bisogno
Diciamo che vogliamo un modello per stampare il nome età e temperamento.
Dobbiamo accertarci che ogni gatto abbia il nome età e temperamento.
E se così non fosse, dobbiamo essere in grado di anticiparlo.
Ecco come definiamo lo schema.
Ma risolviamo un'altra cosa da fare.
E nella mia esperienza questa prossima riga è un po 'confusa.
C maiuscola è uguale al modello Dopp della mangusta e poi cat nelle virgolette questa volta e poi nello schema.
Così, quando lo digito, il primo gatto con la
E stiamo andando a salvare.
Quindi quello che abbiamo fatto qui è che abbiamo preso questo schema cat di schema che è solo un pattern che
dice che ogni gatto ha un nome età e temperamento e lo abbiamo compilato in un modello e lo salviamo in un gatto variabile
e ora possiamo usare quella variabile cat con la C maiuscola per fare nuovi gatti per trovare gatti per rimuovere i gatti per aggiornare
i gatti.
Faremo tutto di gatto, quindi avremo cose come Cat find o cat dot remove o cat dot create.
oggetto gatto che è davvero un modello per un gatto che ora ha anche un mucchio di pezzi diversi.
Quindi abbiamo creato questo
Quindi questo è solo il modello puro che dice che un gatto ha un nome di età e temperamento.
E quando lo salviamo in una variabile dopo averlo compilato in un modello, non è solo questo schema ora,
ma in realtà ha tutti i metodi che vogliamo.
Così prende quel modello e costruisce questo modello complesso che ha tutti i metodi che dobbiamo usare.
Ed è sempre un po 'di confusione, in particolare, questo qui dovrebbe sempre
essere la versione singolare del nome della raccolta.
che abbiamo fatto qui, creeremo una collezione chiamata gatti ed è abbastanza intelligente per quanto riguarda il modo in cui pluralizza le cose.
Quindi se gli diamo un gatto che è quello
C'è una piccola libreria che lo fa.
Può pluralizzare qualcosa come persona nelle persone senza problemi.
Quindi, ancora una volta, questo è il nome della nostra singolare versione del nostro modello che è cat e lo
prenderà automaticamente e creerà una nuova collezione nel nostro database che assomiglierebbe ai gatti stupidi D-B.
Ok, quindi ora abbiamo tutto ciò che dobbiamo fare per aggiungere un gatto.
Ora abbiamo solo bisogno di scrivere il codice.