1
00:00:03,680 --> 00:00:07,560
In dieser Übung werden wir weiter an

2
00:00:07,560 --> 00:00:11,190
dem Knoten Mongoose Server arbeiten, den wir in der vorherigen Übung entwickelt haben.

3
00:00:11,190 --> 00:00:13,770
Wir werden eine weitere Variante davon machen.

4
00:00:13,770 --> 00:00:19,190
Darüber hinaus werden wir uns auch ansehen, wie Mongoose Unterdokumente unterstützt,

5
00:00:19,190 --> 00:00:22,760
und dies ermöglicht es uns, ein Dokument in

6
00:00:22,760 --> 00:00:26,860
einem Dokument zu speichern, um zusätzliche Informationen zu speichern.

7
00:00:26,860 --> 00:00:31,055
Schauen wir uns das in der nächsten Übung an. Wenn

8
00:00:31,055 --> 00:00:39,680
wir mit dem Beispiel fortfahren, an dem wir gearbeitet haben,

9
00:00:39,680 --> 00:00:46,040
sehen wir jetzt in der Datei index.js eine neue Möglichkeit, ein Gericht zu erstellen und es in unsere Anwendung hinzuzufügen.

10
00:00:46,040 --> 00:00:51,590
Also, früher hatten wir var NewDish und Gerichte getan und definieren das Gericht.

11
00:00:51,590 --> 00:00:57,980
Nun, in diesem Fall werden wir eine neue Methode namens Gerichte erstellen verwenden, die,

12
00:00:57,980 --> 00:01:05,950
als Parameter, die NewDish zu erstellen und dann speichert es in unserer Anwendung.

13
00:01:05,950 --> 00:01:11,165
Also, anstatt dieses NewDish speichern,

14
00:01:11,165 --> 00:01:18,550
können wir einfach entfernen, dass und direkt mit den Gerichten umgehen Methode hier erstellen.

15
00:01:18,550 --> 00:01:22,850
Also, die Gerichte erstellen Methode wird als Parameter

16
00:01:22,850 --> 00:01:27,320
ein neues Dokument, das in unserer Datenbank gespeichert werden muss,

17
00:01:27,320 --> 00:01:31,355
und dann erstellt und fügt das Dokument in die Datenbank.

18
00:01:31,355 --> 00:01:35,285
Danach können wir mit dem Rest der Übung fortfahren.

19
00:01:35,285 --> 00:01:40,390
Diese geringfügige Änderung zeigt

20
00:01:40,390 --> 00:01:45,790
, dass dieselbe Anwendung genauso läuft wie zuvor.

21
00:01:45,790 --> 00:01:47,365
Also, mit dieser Änderung,

22
00:01:47,365 --> 00:01:50,080
lassen Sie mich einfach die Einrückung

23
00:01:50,080 --> 00:01:56,370
hier ändern, so dass die Verkettung der dann Methoden sehr klar ist.

24
00:01:56,370 --> 00:02:01,130
Also, wir machen zuerst ein Geschirr erstellen, das ein Versprechen zurückgeben wird,

25
00:02:01,130 --> 00:02:04,300
und dann wechseln wir zum dann und dann werden wir

26
00:02:04,300 --> 00:02:10,255
die restlichen Schritte auf dem geschaffenen Gericht ausführen.

27
00:02:10,255 --> 00:02:17,475
Lassen Sie uns die Änderungen speichern und dann gehen und werfen Sie einen Blick auf diese Version unseres Servers. Wenn wir

28
00:02:17,475 --> 00:02:20,675
wieder zum Terminal gehen,

29
00:02:20,675 --> 00:02:28,040
sehen wir, dass es genau das gleiche wie die vorherige Variante des Servers erstellt.

30
00:02:28,040 --> 00:02:33,290
Also, wir erstellen hier ein neues Gericht und fügen es dann in

31
00:02:33,290 --> 00:02:36,800
die Datenbank ein und danach

32
00:02:36,800 --> 00:02:40,760
holen wir dieses Gericht und drucken dann auf dem Bildschirm aus.

33
00:02:40,760 --> 00:02:43,610
Mit dieser Änderung ist dies ein guter Zeitpunkt für uns,

34
00:02:43,610 --> 00:02:47,795
ein Git-Commit mit der Nachricht Mongoose Teil zwei zu machen.

35
00:02:47,795 --> 00:02:57,450
Also, lassen Sie uns den Git-Status überprüfen und dann die Datei zum Repository hinzufügen

36
00:02:57,450 --> 00:03:06,390
und dann ein Git-Commit mit der Nachricht Mongoose Teil zwei machen.

37
00:03:06,390 --> 00:03:08,800
Fortsetzung der Übung

38
00:03:08,800 --> 00:03:13,910
werden wir im nächsten Schritt ein Unterdokument

39
00:03:13,910 --> 00:03:19,385
zum Dokument hinzufügen und sehen, wie Unterdokumente in unserer Datenbank gespeichert werden können.

40
00:03:19,385 --> 00:03:22,385
Also, wenn

41
00:03:22,385 --> 00:03:30,135
ich zur Datei dishes.js gehe, werde ich ein anderes Schema in meine dishes.js Datei

42
00:03:30,135 --> 00:03:37,360
als Kommentar Schema hinzufügen und

43
00:03:37,360 --> 00:03:42,230
dann als neues Schema definieren.

44
00:03:42,320 --> 00:03:44,880
In diesem Kommentarschema,

45
00:03:44,880 --> 00:03:46,895
wie Sie bereits erwartet hätten,

46
00:03:46,895 --> 00:03:51,360
werden wir dies verwenden, um Kommentare über das Gericht zu speichern.

47
00:03:51,360 --> 00:03:56,380
Also, die Kommentare enthalten ein Bewertungsfeld,

48
00:03:56,380 --> 00:04:02,930
das vom Typ Nummer ist,

49
00:04:02,930 --> 00:04:07,250
und sein minimaler Wert ist eins,

50
00:04:07,250 --> 00:04:15,290
Maximalwert ist fünf und erforderlich ist wahr.

51
00:04:15,290 --> 00:04:20,120
Sie können also sehen, dass Sie, wenn Sie ein Feld mit der Typnummer verwenden,

52
00:04:20,120 --> 00:04:26,085
die Grenzen dafür angeben können, wenn Sie dies wünschen.

53
00:04:26,085 --> 00:04:35,640
Dann ist das nächste Feld ein Kommentarfeld, das vom Typ String sein würde.

54
00:04:35,640 --> 00:04:41,780
Also, dies speichert eine Nachricht und dann erforderlich

55
00:04:41,780 --> 00:04:49,300
ist wahr und dann werden wir auch ein anderes Feld namens Autor hinzufügen,

56
00:04:51,220 --> 00:05:01,120
das vom Typ String ist und erforderlich ist wahr ist.

57
00:05:01,120 --> 00:05:07,600
Wir werden auch das Zeitstempelfeld dafür hinzufügen

58
00:05:07,600 --> 00:05:11,875
und das auf true setzen.

59
00:05:11,875 --> 00:05:14,570
Also, für jeden Kommentar, der hinzugefügt

60
00:05:14,570 --> 00:05:17,570
wird, speichern wir auch den entsprechenden Zeitstempel.

61
00:05:17,570 --> 00:05:20,990
Nun, da wir ein Kommentarschema deklariert haben,

62
00:05:20,990 --> 00:05:27,465
können wir dann weitergehen und das Dish Schema ändern, um Kommentare speichern zu können.

63
00:05:27,465 --> 00:05:29,745
Also, innerhalb des Schemas Gerichte,

64
00:05:29,745 --> 00:05:37,370
können wir in Kommentaren hinzufügen,

65
00:05:37,370 --> 00:05:44,750
die ein Array des Typkommentarschemas ist,

66
00:05:44,750 --> 00:05:49,705
was bedeutet, dass jedes Gericht Objekt,

67
00:05:49,705 --> 00:05:57,860
Gericht Dokument mehrere Kommentare in einem Array innerhalb des Dish Dokument gespeichert haben kann.

68
00:05:57,860 --> 00:06:04,830
Also, dies ist die Kommentardokumente werden Unterdokumente in einem Gericht Dokument.

69
00:06:04,830 --> 00:06:08,524
Also, wir speichern alle Kommentare über das Gericht in

70
00:06:08,524 --> 00:06:13,765
der Schale selbst als eine Reihe von Kommentardokumenten.

71
00:06:13,765 --> 00:06:20,825
Dies ist also die Verwendung des Unterdokuments in Mongoose.

72
00:06:20,825 --> 00:06:28,395
Danach gehen wir zur Datei index.js und ändern Sie dann unsere Datei index.js.

73
00:06:28,395 --> 00:06:32,640
Hier kreieren sie das Gericht wie zuvor.

74
00:06:32,640 --> 00:06:35,010
Dann, nachdem wir das Gericht erstellt haben,

75
00:06:35,010 --> 00:06:38,715
trösten wir das Gericht.

76
00:06:38,715 --> 00:06:43,080
Danach werden wir das Gericht aktualisieren.

77
00:06:43,080 --> 00:06:49,925
Also, wir werden sagen, Gerichte finden nach ID und aktualisieren.

78
00:06:49,925 --> 00:06:55,345
Also werden wir das Gericht ändern, das wir gerade im vorherigen Schritt eingefügt haben.

79
00:06:55,345 --> 00:06:58,690
Also, wir sagen: „Finden Sie nach ID und aktualisieren Sie.“

80
00:06:58,690 --> 00:07:01,930
Und wir werden liefern.

81
00:07:01,930 --> 00:07:05,305
In diesem nimmt zwei Parameter,

82
00:07:05,305 --> 00:07:10,045
der erste Parameter ist das Gericht.

83
00:07:10,045 --> 00:07:15,205
Nun, dieses Gericht. _id bezieht sich natürlich auf dieses Gericht, das wir gerade eingefügt haben,

84
00:07:15,205 --> 00:07:19,895
und dann werden wir das gleiche Gericht im nächsten Schritt ändern.

85
00:07:19,895 --> 00:07:22,420
Also sagen wir: „Dish. _ID.“ Und dann,

86
00:07:22,420 --> 00:07:34,610
in Klammern, geben wir $set, Beschreibung,

87
00:07:36,600 --> 00:07:45,580
aktualisierter Test und new true.

88
00:07:45,580 --> 00:07:49,240
Also, das, wir modifizieren das Gericht, das wir

89
00:07:49,240 --> 00:07:54,865
gerade eingefügt haben, indem wir seine Beschreibung dort aktualisieren.

90
00:07:54,865 --> 00:07:58,735
Nun, das muss innen eingeschlossen werden.

91
00:07:58,735 --> 00:08:01,310
Diese zweite Flagge, die wir hier liefern,

92
00:08:01,310 --> 00:08:03,985
neue Doppelpunkt gleich wahr,

93
00:08:03,985 --> 00:08:07,895
bedeutet, dass, sobald die Aktualisierung des Gerichts abgeschlossen ist,

94
00:08:07,895 --> 00:08:11,075
dann wird dies das Gericht,

95
00:08:11,075 --> 00:08:14,530
aktualisierte Gericht zurück zu uns.

96
00:08:14,530 --> 00:08:20,350
Also, das ist der Grund für die Verwendung dieser Flagge hier, sagen wir, new true.

97
00:08:20,350 --> 00:08:25,275
Also, dieses Gericht wird im nächsten Schritt zurückgegeben.

98
00:08:25,275 --> 00:08:32,905
Und so werden wir das Gericht nehmen und dann das Gericht ausdrucken.

99
00:08:32,905 --> 00:08:34,540
Also, im nächsten Schritt,

100
00:08:34,540 --> 00:08:41,845
werden wir das ändern und sagen: „Dies, dann Gericht.“

101
00:08:41,845 --> 00:08:45,790
Und dann machen wir ein Konsolenprotokoll.

102
00:08:45,790 --> 00:08:55,060
Danach werden wir einen Kommentar in das Gericht einfügen.

103
00:08:55,060 --> 00:09:00,405
Also, wir werden sagen: „Schüssel.Kommentare.Push.“

104
00:09:00,405 --> 00:09:04,420
Daran erinnern, dass die Kommentare ein Feld in der Schale sind. Wenn wir

105
00:09:04,420 --> 00:09:06,930
also auf das Schema zurückgehen,

106
00:09:06,930 --> 00:09:12,685
sehen wir, dass diese Kommentare ein Array des CommentSchema-Typs sind.

107
00:09:12,685 --> 00:09:16,360
Also, was bedeutet, dass wir ein Element in dieses Array schieben können.

108
00:09:16,360 --> 00:09:17,700
Also, wenn wir hierher zurückgehen

109
00:09:17,700 --> 00:09:21,180
, sagen wir: „Dish Comments Push“.

110
00:09:21,180 --> 00:09:27,380
Und dann werden wir hier ein Kommentardokument in die Schüssel schieben.

111
00:09:27,380 --> 00:09:31,415
Also, ich werde sagen: „Dish Kommentare drücken.“

112
00:09:31,415 --> 00:09:33,990
Und geben Sie hier die Felder an.

113
00:09:33,990 --> 00:10:00,540
Also sagen wir: „Bewertung fünf, Kommentar und Autor.“

114
00:10:07,890 --> 00:10:17,155
Und so wird dies diesen Kommentar in das Kommentarfeld dieses speziellen Gerichts schieben.

115
00:10:17,155 --> 00:10:20,065
Also, jetzt, da wir das Gericht modifiziert haben,

116
00:10:20,065 --> 00:10:24,655
ist der nächste Schritt, den wir tun werden, dass

117
00:10:24,655 --> 00:10:30,030
ich das abschließe und dann das hineinfüge, dann da.

118
00:10:30,030 --> 00:10:32,400
Ich komme zurück und repariere das in kurzer Zeit.

119
00:10:32,400 --> 00:10:34,555
Also, jetzt, wo wir das Gericht modifiziert haben,

120
00:10:34,555 --> 00:10:37,630
müssen wir das Gericht retten.

121
00:10:37,630 --> 00:10:42,430
Also sagen wir: „Tresor zurückgeben.“

122
00:10:42,430 --> 00:10:44,280
In diesem Schritt

123
00:10:44,280 --> 00:10:47,520
fügen wir einen Kommentar in das Gericht ein, das Gericht,

124
00:10:47,520 --> 00:10:51,055
das wir gerade erstellt und aktualisiert haben,

125
00:10:51,055 --> 00:10:55,360
und dann speichern wir

126
00:10:55,360 --> 00:11:00,350
diesen Kommentar; und dann wird das Gericht zurückgeben.

127
00:11:00,350 --> 00:11:07,480
Und wenn das Gericht im nächsten Rückruf zurückgegeben wird,

128
00:11:07,480 --> 00:11:15,160
werde ich dann sagen: „Konsolenprotokoll Gericht.“

129
00:11:15,160 --> 00:11:16,240
Und dann, danach,

130
00:11:16,240 --> 00:11:17,920
werden wir sagen: „Zurück.“

131
00:11:17,920 --> 00:11:22,435
Also, damit haben wir unsere index.js Datei geändert.

132
00:11:22,435 --> 00:11:27,265
Lassen Sie uns die Änderungen speichern und schauen Sie sich diese Anwendung an.

133
00:11:27,265 --> 00:11:29,135
Gehen wir zum Terminal,

134
00:11:29,135 --> 00:11:34,770
lassen Sie uns npm start ausführen und dann den resultierenden Wert hier sehen.

135
00:11:34,770 --> 00:11:38,570
Also, wenn wir zurückgehen, sehen wir, dass

136
00:11:38,570 --> 00:11:45,430
wir im ersten Schritt dieses Gericht hier mit dem Namen und der Beschreibung erstellt haben, wie wir zuvor gegeben haben.

137
00:11:45,430 --> 00:11:49,675
Und dann, sobald das Gericht erstellt wurde

138
00:11:49,675 --> 00:11:50,980
,

139
00:11:50,980 --> 00:11:55,730
haben wir im zweiten Schritt das Gericht aktualisiert und dann die aktualisierte Version des Gerichts ausgedruckt.

140
00:11:55,730 --> 00:11:59,325
So wird die aktualisierte Version des Gerichts direkt dort ausgedruckt.

141
00:11:59,325 --> 00:12:03,940
Und Sie können sehen, dass die Beschreibung aus dem vorherigen Fall aktualisiert wurde,

142
00:12:03,940 --> 00:12:10,210
aber die ID bleibt genau die gleiche wie das Gericht, das wir zuvor erstellt haben.

143
00:12:10,210 --> 00:12:11,720
Und das Kommentarfeld,

144
00:12:11,720 --> 00:12:12,875
wie Sie hier sehen können,

145
00:12:12,875 --> 00:12:15,150
ist ein leeres Array und das geräucherte.

146
00:12:15,150 --> 00:12:22,555
Im dritten Schritt schieben wir den Kommentar in unser Gericht hier;

147
00:12:22,555 --> 00:12:25,560
und dann

148
00:12:25,560 --> 00:12:28,880
wurde dieser besondere Kommentar, den wir hinzugefügt haben, in dieses Kommentarfeld hinzugefügt.

149
00:12:28,880 --> 00:12:32,475
So können Sie sehen, dass dieser Kommentar hier beigefügt wird,

150
00:12:32,475 --> 00:12:39,440
und dies ist das aktualisierte Gericht, das jetzt auf den Bildschirm gedruckt wurde.

151
00:12:39,440 --> 00:12:45,270
So können Sie sehen, dass wir mehrere Schritte nacheinander mit unserem Gericht gemacht haben.

152
00:12:45,270 --> 00:12:46,840
Wir haben zuerst das Gericht erstellt,

153
00:12:46,840 --> 00:12:48,460
dann haben wir das Gericht aktualisiert,

154
00:12:48,460 --> 00:12:51,340
dann haben wir einen Kommentar in die Schüssel eingefügt,

155
00:12:51,340 --> 00:12:55,745
die ein Unterdokument innerhalb des Geschirrdokuments ist;

156
00:12:55,745 --> 00:12:59,035
und dann haben wir das Ergebnis ausgedruckt.

157
00:12:59,035 --> 00:13:02,390
Damit schließen wir diese Übung ab.

158
00:13:02,390 --> 00:13:06,500
In dieser Übung haben wir gesehen, wie wir

159
00:13:06,500 --> 00:13:10,930
zuerst ein Gericht erstellen können, indem Sie Gerichte erstellen,

160
00:13:10,930 --> 00:13:14,520
dann sahen wir die Verwendung von Unterdokumenten: Dort

161
00:13:14,520 --> 00:13:18,060
haben wir ein Schema innerhalb der

162
00:13:18,060 --> 00:13:21,720
Datei dishes.js definiert und dann das Kommentarschema verwenden, das wir

163
00:13:21,720 --> 00:13:29,130
definiert haben und dann das Feld im Schema Gerichte als -Array des CommentSchema-Typs.

164
00:13:29,130 --> 00:13:32,810
Und dann, in der Datei index.js,

165
00:13:32,810 --> 00:13:35,445
konnten wir ein Gericht erstellen,

166
00:13:35,445 --> 00:13:38,210
das Gericht aktualisieren und auch

167
00:13:38,210 --> 00:13:44,140
ein Kommentardokument in die Schüssel schieben und dann die Änderungen hier speichern.

168
00:13:44,140 --> 00:13:46,480
Damit schließen wir diese Übung ab.

169
00:13:46,480 --> 00:13:54,170
Dies ist ein guter Zeitpunkt für Sie, einen Git Kermit mit mit der Nachricht „Mungo Teil drei“ zu machen.