1
00:00:00,210 --> 00:00:01,470
OK bentornato.

2
00:00:01,650 --> 00:00:07,830
Finora abbiamo visto come interagire con Mongo TV usando la console Mongo che, come ho detto, è utile per insegnare le

3
00:00:07,830 --> 00:00:12,510
cose e per testare le cose e il debug, ma non è dove scriveremo effettivamente la

4
00:00:12,720 --> 00:00:17,250
maggior parte del nostro codice che interagisce con database in cui lo faremo effettivamente anziché

5
00:00:17,250 --> 00:00:18,660
il nostro codice espresso.

6
00:00:18,780 --> 00:00:23,290
Quindi tirano su un esempio andiamo al campo di Yelp e diamo un'occhiata alla sua app.

7
00:00:23,340 --> 00:00:24,110
Sì.

8
00:00:24,750 --> 00:00:27,720
Ecco un esempio di dove useremmo mangu.

9
00:00:27,930 --> 00:00:35,340
Quindi, ad esempio, quando aggiungiamo un nuovo campeggio al nostro array piuttosto che aggiungere campeggi a un array,

10
00:00:35,340 --> 00:00:40,430
avremmo un database con un database mongo e una raccolta denominata campeggio.

11
00:00:40,530 --> 00:00:43,530
E questo in realtà arriverà molto presto in questa serie.

12
00:00:43,530 --> 00:00:48,570
E poi quando invii una richiesta di posta per tagliare

13
00:00:48,570 --> 00:00:57,870
il campeggio piuttosto che spingere in un array che inseriremo nella collezione di Mongar DP, compaiono anche nei campeggi

14
00:00:57,870 --> 00:01:03,620
tagliati piuttosto che solo nei campeggi con i campeggi allineati qui definiti.

15
00:01:03,690 --> 00:01:11,430
In realtà, faremo una ricerca per trovare un campeggio D-B, quindi prendiamo i risultati e li inviamo

16
00:01:11,430 --> 00:01:12,990
al modello del campeggio.

17
00:01:13,550 --> 00:01:13,850
OK.

18
00:01:13,860 --> 00:01:15,150
Quindi ci arriveremo.

19
00:01:15,450 --> 00:01:17,170
Quindi questo è quello che ci stiamo concentrando su questa lezione.

20
00:01:17,340 --> 00:01:21,000
E per farlo impareremo a conoscere uno strumento chiamato mangusta.

21
00:01:21,120 --> 00:01:26,060
Quindi ho tre obiettivi principali in cui ti dico quali manguste spiegano perché la stiamo usando.

22
00:01:26,370 --> 00:01:30,000
E voglio anche mostrarti come usarlo invece di un file javascript.

23
00:01:30,000 --> 00:01:32,450
Iniziamo parlando di cosa sia Mangusta.

24
00:01:32,730 --> 00:01:34,790
Quindi ho aperto la home page ufficiale.

25
00:01:34,920 --> 00:01:39,830
Si dice che Mongoose sia un'elegante modellazione di oggetti Mongo DB per nessun genio.

26
00:01:40,120 --> 00:01:40,700
OK.

27
00:01:41,220 --> 00:01:42,750
Leggiamo un po 'di più.

28
00:01:42,990 --> 00:01:47,610
Mongoose fornisce una soluzione semplice basata su schemi per modellare i dati dell'applicazione.

29
00:01:47,720 --> 00:01:52,740
Include built in typecasting validation queery che costruisce business logic coassiale e molto

30
00:01:52,740 --> 00:01:53,480
altro ancora.

31
00:01:53,550 --> 00:01:56,690
Quindi penso che questo avrebbe più senso per uno sviluppatore esperto.

32
00:01:56,790 --> 00:01:59,910
Ma ciò che significa in realtà è che Mongoose è uno strumento.

33
00:02:00,090 --> 00:02:05,970
È un pacchetto che stiamo per scaricare con NPM che ci aiuta a interagire con Mongo D-B

34
00:02:05,970 --> 00:02:07,550
invece dei nostri file javascript.

35
00:02:07,650 --> 00:02:09,750
È possibile farlo senza mangusta.

36
00:02:09,750 --> 00:02:14,280
C'erano altri strumenti come questo, ma ci rendiamo più facile interagire con il database proprio

37
00:02:14,520 --> 00:02:19,080
come Jay Querrey ci rende più facile interagire con Dom ma non dobbiamo avere una query.

38
00:02:19,530 --> 00:02:25,020
Mongoose rende più facile e più pulito per noi interagire con il database DB di Monkhood ma non è necessario.

39
00:02:25,860 --> 00:02:30,860
Quindi torniamo a cloud 9 e ho intenzione di andare avanti e creare un singolo file javascript.

40
00:02:31,020 --> 00:02:36,570
Yes e quando eseguirò il file vorremmo che aggiungesse qualcosa al nostro database usando mangusta.

41
00:02:36,790 --> 00:02:42,640
Non sarà un'app express, sarà solo un singolo file che eseguirò con il nodo node dopo

42
00:02:43,050 --> 00:02:44,110
Quindi inizierò.

43
00:02:44,110 --> 00:02:48,620
Sono all'interno di una directory che ho creato come database e creerò un file.

44
00:02:48,750 --> 00:02:50,900
E chiamiamolo gatti.

45
00:02:51,080 --> 00:02:54,160
Sì, ho fatto troppe cose da cani.

46
00:02:54,210 --> 00:02:55,440
So che ho intenzione di lamentarmi.

47
00:02:55,530 --> 00:02:59,840
Fare alcuni gatti così bene da prendere sul serio e poi dentro quello.

48
00:02:59,910 --> 00:03:00,660
un pacchetto.

49
00:03:03,600 --> 00:03:10,100
Apriamolo e prima di fare qualsiasi altra cosa installerò la mangusta che è

50
00:03:11,270 --> 00:03:18,190
Lì andiamo e facciamo un po 'di spazio qui e la prossima cosa che vogliamo

51
00:03:18,190 --> 00:03:28,260
fare è richiedere che la mangusta che farà i nostri mangimi equini richieda mangusta e quello che faremo prima sarà focalizzato sull'aggiunta

52
00:03:28,560 --> 00:03:37,650
di un nuovo gatto al database e poi in seguito recupereremo tutti i gatti dal database e faremo una semplice

53
00:03:37,650 --> 00:03:39,960
console che ne registra ognuno

54
00:03:42,810 --> 00:03:43,790
proprio così.

55
00:03:44,100 --> 00:03:47,950
OK, quindi inizieremo a capire come aggiungeremo un nuovo gatto al database.

56
00:03:48,090 --> 00:03:52,630
po 'più di impostazione che dobbiamo fare con Mongoose, che è necessario connettersi a un database.

57
00:03:52,690 --> 00:03:54,780
E prima ancora di farlo, c'è un

58
00:03:54,990 --> 00:03:58,440
Quindi ricorda come abbiamo questo in esecuzione in background.

59
00:03:58,440 --> 00:04:00,390
Questo è il nostro mongolo Mongo.

60
00:04:00,570 --> 00:04:01,590
Dobbiamo continuare a farlo.

61
00:04:01,620 --> 00:04:07,350
Quindi se lo spegni per qualche motivo assicurati di riaccenderlo con quel comando Man-God

62
00:04:07,350 --> 00:04:12,180
e poi diremo a mongoose di connettersi a questo server che abbiamo

63
00:04:12,180 --> 00:04:23,820
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

64
00:04:24,990 --> 00:04:25,620
del localhost.

65
00:04:25,770 --> 00:04:27,740
E poi qualsiasi cosa vogliamo venire dopo.

66
00:04:27,780 --> 00:04:29,490
Questo è il nome per il nostro database.

67
00:04:29,700 --> 00:04:37,380
E proprio come prima, se non abbiamo creato il database, diciamo chiamalo app Cat. Non ho ancora un database

68
00:04:37,380 --> 00:04:38,870
di app per gatti.

69
00:04:39,240 --> 00:04:45,450
E se lo eseguo, si connetterà e cercherà di trovare l'app Cat che non lo troverà e renderà

70
00:04:45,450 --> 00:04:46,650
l'app Cat per me.

71
00:04:46,650 --> 00:04:51,210
Ma se ce n'è uno, e lo troverà, userà l'app cat preesistente.

72
00:04:51,390 --> 00:04:52,660
Quindi andrò con l'app per gatti.

73
00:04:52,800 --> 00:04:54,000
Per me va bene.

74
00:04:54,600 --> 00:05:00,660
E questo ora si collegherà al nostro database e possiamo verificarlo proprio eseguendo il nostro file node

75
00:05:00,780 --> 00:05:01,550
cat cats.

76
00:05:01,680 --> 00:05:03,210
Sì.

77
00:05:03,210 --> 00:05:05,720
Non riceviamo un errore, il che significa che tutto funziona correttamente.

78
00:05:05,760 --> 00:05:07,420
Quindi possiamo controllare C da questo.

79
00:05:07,680 --> 00:05:11,180
E ora quello che vogliamo fare è concentrarsi sull'aggiunta di un gatto al database.

80
00:05:11,430 --> 00:05:15,930
E prima che possiamo farlo, dobbiamo effettivamente definire come appare un gatto.

81
00:05:16,020 --> 00:05:20,160
Quindi lo farò qui e vedrai un po 'di sintassi nuova un po'.

82
00:05:20,220 --> 00:05:24,540
Un sacco di nuovi metodi che vengono con Mongoose che non hai mai visto prima

83
00:05:24,540 --> 00:05:27,370
e prometto che li spiegherò tutti, ma comincerò semplicemente digitandolo.

84
00:05:27,390 --> 00:05:37,980
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

85
00:05:37,980 --> 00:05:48,770
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

86
00:05:48,770 --> 00:05:56,130
se mi sto rendendo conto che in realtà non conosco molte razze di gatti, quindi cambierò questo comportamento

87
00:05:56,130 --> 00:06:00,360
per dire che è una parola molto difficile da pronunciare.

88
00:06:00,390 --> 00:06:01,220
Mi dimentico sempre di questo.

89
00:06:01,240 --> 00:06:03,140
A penso che abbia capito bene.

90
00:06:03,150 --> 00:06:06,150
Così farà il temperamento e quella sarà una stringa pure.

91
00:06:06,560 --> 00:06:06,930
OK.

92
00:06:06,930 --> 00:06:07,930
E salveremo.

93
00:06:08,280 --> 00:06:10,680
E questo in realtà non fa nulla per il nostro database.

94
00:06:10,680 --> 00:06:13,110
Dice solo mangusta o javascript.

95
00:06:13,230 --> 00:06:18,750
Dice il lato javascript delle cose che voglio essere in grado di aggiungere gatti al nostro database e

96
00:06:18,750 --> 00:06:23,250
un gatto dovrebbe essere definito come questo potrebbe chiedere a te stesso non è questo.

97
00:06:23,250 --> 00:06:23,900
No.

98
00:06:23,900 --> 00:06:25,200
Q Bene sono non relazionali.

99
00:06:25,200 --> 00:06:28,190
Questo non significa che non devo definire un tavolo.

100
00:06:28,530 --> 00:06:29,600
Sì, è giusto.

101
00:06:29,610 --> 00:06:31,210
Questo non sta definendo una tabella.

102
00:06:31,350 --> 00:06:36,060
Questo sta definendo uno schema per i nostri dati, ma ciò non significa che ci sia vietato

103
00:06:36,180 --> 00:06:38,310
aggiungere nuove cose o lasciare certe cose.

104
00:06:38,310 --> 00:06:42,930
di una sorta di struttura prevedibile per scrivere codice in grado di gestire questi gatti.

105
00:06:42,930 --> 00:06:46,440
È solo un bel modo di fornire una struttura perché abbiamo bisogno

106
00:06:46,650 --> 00:06:50,590
Diciamo che vogliamo un modello per stampare il nome età e temperamento.

107
00:06:50,670 --> 00:06:54,050
Dobbiamo accertarci che ogni gatto abbia il nome età e temperamento.

108
00:06:54,270 --> 00:06:57,540
E se così non fosse, dobbiamo essere in grado di anticiparlo.

109
00:06:57,570 --> 00:06:59,690
Ecco come definiamo lo schema.

110
00:06:59,710 --> 00:07:01,630
Ma risolviamo un'altra cosa da fare.

111
00:07:01,740 --> 00:07:05,910
E nella mia esperienza questa prossima riga è un po 'confusa.

112
00:07:06,390 --> 00:07:16,680
C maiuscola è uguale al modello Dopp della mangusta e poi cat nelle virgolette questa volta e poi nello schema.

113
00:07:16,680 --> 00:07:21,030
Così, quando lo digito, il primo gatto con la

114
00:07:21,120 --> 00:07:22,360
E stiamo andando a salvare.

115
00:07:22,800 --> 00:07:29,190
Quindi quello che abbiamo fatto qui è che abbiamo preso questo schema cat di schema che è solo un pattern che

116
00:07:29,190 --> 00:07:36,570
dice che ogni gatto ha un nome età e temperamento e lo abbiamo compilato in un modello e lo salviamo in un gatto variabile

117
00:07:36,570 --> 00:07:43,860
e ora possiamo usare quella variabile cat con la C maiuscola per fare nuovi gatti per trovare gatti per rimuovere i gatti per aggiornare

118
00:07:43,860 --> 00:07:44,350
i gatti.

119
00:07:44,610 --> 00:07:52,890
Faremo tutto di gatto, quindi avremo cose come Cat find o cat dot remove o cat dot create.

120
00:07:53,370 --> 00:07:59,490
oggetto gatto che è davvero un modello per un gatto che ora ha anche un mucchio di pezzi diversi.

121
00:07:59,490 --> 00:08:00,830
Quindi abbiamo creato questo

122
00:08:00,960 --> 00:08:05,370
Quindi questo è solo il modello puro che dice che un gatto ha un nome di età e temperamento.

123
00:08:05,610 --> 00:08:11,370
E quando lo salviamo in una variabile dopo averlo compilato in un modello, non è solo questo schema ora,

124
00:08:11,370 --> 00:08:14,060
ma in realtà ha tutti i metodi che vogliamo.

125
00:08:14,190 --> 00:08:19,170
Così prende quel modello e costruisce questo modello complesso che ha tutti i metodi che dobbiamo usare.

126
00:08:19,890 --> 00:08:25,410
Ed è sempre un po 'di confusione, in particolare, questo qui dovrebbe sempre

127
00:08:25,410 --> 00:08:28,910
essere la versione singolare del nome della raccolta.

128
00:08:28,950 --> 00:08:35,370
che abbiamo fatto qui, creeremo una collezione chiamata gatti ed è abbastanza intelligente per quanto riguarda il modo in cui pluralizza le cose.

129
00:08:35,370 --> 00:08:37,800
Quindi se gli diamo un gatto che è quello

130
00:08:37,800 --> 00:08:40,030
C'è una piccola libreria che lo fa.

131
00:08:40,140 --> 00:08:44,790
Può pluralizzare qualcosa come persona nelle persone senza problemi.

132
00:08:44,790 --> 00:08:51,240
Quindi, ancora una volta, questo è il nome della nostra singolare versione del nostro modello che è cat e lo

133
00:08:51,240 --> 00:08:56,690
prenderà automaticamente e creerà una nuova collezione nel nostro database che assomiglierebbe ai gatti stupidi D-B.

134
00:08:56,700 --> 00:09:01,060
Ok, quindi ora abbiamo tutto ciò che dobbiamo fare per aggiungere un gatto.

135
00:09:01,080 --> 00:09:02,740
Ora abbiamo solo bisogno di scrivere il codice.
