1
00:00:00,370 --> 00:00:04,760
De acuerdo, ahora tenemos todo lo que necesitamos hacer para agregar un gato.

2
00:00:04,770 --> 00:00:08,650
Ahora solo tenemos que escribir el código del código que se ve así.

3
00:00:08,700 --> 00:00:14,040
Vamos a hacer un nuevo gato y cuando hagamos un nuevo gato Vamos a pasar los datos.

4
00:00:14,160 --> 00:00:20,740
Así que voy a decir el nombre y vamos con George y su edad.

5
00:00:20,760 --> 00:00:27,480
Vámonos con un gato mayor 11 y el temperamento es malhumorado.

6
00:00:27,930 --> 00:00:30,530
Acaba de salir de mi experiencia con los gatos.

7
00:00:30,990 --> 00:00:34,080
Y luego, lo que también haremos es guardar esto en una variable.

8
00:00:34,560 --> 00:00:35,970
Entonces lo llamaremos lejos.

9
00:00:35,970 --> 00:00:38,980
George es igual a un nuevo gato.

10
00:00:38,990 --> 00:00:39,980
Su nombre es George.

11
00:00:39,990 --> 00:00:42,510
El temperamento de la edad 11 es de mal humor.

12
00:00:42,840 --> 00:00:45,390
Así que esto en realidad no se agregó a la base de datos todavía.

13
00:00:45,600 --> 00:00:51,090
Hay otro paso que es salvar a George Dodd.

14
00:00:51,930 --> 00:00:55,070
Y una vez que lo guardemos, se agregará a la base de datos.

15
00:00:55,080 --> 00:01:01,410
Sin embargo, existe la posibilidad de que no se guarde, digamos que nuestro proceso Mangu no se está ejecutando

16
00:01:01,410 --> 00:01:07,000
por algún motivo o que Internet no funciona en una máquina que posiblemente no se pueda guardar.

17
00:01:07,080 --> 00:01:14,460
Entonces, en lugar de simplemente guardarlo a ciegas, lo que podemos hacer es pasar una función de devolución de llamada a guardar y esta

18
00:01:14,460 --> 00:01:16,900
función se ejecutará cuando se realice el guardado.

19
00:01:16,980 --> 00:01:20,760
Si funcionó o no y nos dará dos cosas diferentes.

20
00:01:20,760 --> 00:01:28,320
El primero es cualquier error potencial y el segundo es que no debe llamarlo. George es el elemento que se devuelve al artículo

21
00:01:28,320 --> 00:01:29,470
que se guardó.

22
00:01:29,470 --> 00:01:30,780
Lo llama gato.

23
00:01:31,290 --> 00:01:34,500
Y lo que podemos hacer es verificar si hay un error.

24
00:01:34,500 --> 00:01:37,710
Haremos un log de bóveda de concierto.

25
00:01:37,710 --> 00:01:43,370
Algo salió mal así como así.

26
00:01:43,500 --> 00:01:48,210
De lo contrario, hagamos un venir a ese registro.

27
00:01:48,480 --> 00:01:57,620
Acabamos de guardar un gato en la base de datos y luego también nos llamamos Salt log the cat.

28
00:01:57,630 --> 00:01:58,340
Todo bien.

29
00:01:58,620 --> 00:01:59,760
Entonces hay mucho aquí.

30
00:01:59,940 --> 00:02:01,700
Así que caminemos por esto una vez más.

31
00:02:01,860 --> 00:02:03,920
Comencemos con solo guardar.

32
00:02:03,930 --> 00:02:11,370
salvar a George el gato a la base de datos y volver a pasar a esta función que se llamará una vez que se haga esto.

33
00:02:11,430 --> 00:02:13,810
Entonces, lo que estamos haciendo es tratar de

34
00:02:14,040 --> 00:02:17,300
Y este es un patrón que vamos a ver todo el tiempo en mangosta.

35
00:02:17,400 --> 00:02:23,490
Así que tendremos ese tipo de cosas y luego pasarás una función de devolución de llamada a eso

36
00:02:23,490 --> 00:02:30,240
y luego haremos lo mismo con Dot remove y Dot create en casi todo lo que hacemos con Mongoose

37
00:02:30,240 --> 00:02:35,070
implicará una función de devolución de llamada y eso es porque esto lleva tiempo.

38
00:02:35,070 --> 00:02:41,760
Javascript tiene que ir y comunicarse con este proceso aquí y averiguar si salió bien o

39
00:02:41,760 --> 00:02:43,720
salió mal y lleva tiempo.

40
00:02:43,800 --> 00:02:49,530
Entonces, tenemos que hacer la devolución de llamada para que el código se ejecute después de que se haya completado.

41
00:02:50,010 --> 00:02:50,310
DE ACUERDO.

42
00:02:50,340 --> 00:02:52,400
Entonces nuestra devolución de llamada toma dos parámetros.

43
00:02:52,470 --> 00:02:54,430
El primero es un error potencial.

44
00:02:54,750 --> 00:02:59,570
Y esto estará vacío con suerte, pero si no, cancelaremos ese registro.

45
00:02:59,570 --> 00:03:00,640
Algo salió mal.

46
00:03:00,990 --> 00:03:02,690
De lo contrario, lo imprimiremos.

47
00:03:02,700 --> 00:03:06,980
Acabamos de agregar. Acabamos de guardar su gato en la base de datos e imprimiremos el gato.

48
00:03:07,650 --> 00:03:08,040
DE ACUERDO.

49
00:03:08,040 --> 00:03:09,190
Muchas cosas.

50
00:03:09,330 --> 00:03:10,680
Entonces veamos cómo va esto.

51
00:03:10,950 --> 00:03:14,860
Tratemos de ejecutar este nodo cosas de gatos.

52
00:03:14,910 --> 00:03:16,260
Sí.

53
00:03:17,100 --> 00:03:17,740
DE ACUERDO.

54
00:03:17,880 --> 00:03:24,240
Y conseguimos que acabamos de guardar el gato en la base de datos y obtuvimos el gato que imprimimos con esta línea

55
00:03:24,240 --> 00:03:24,650
aquí.

56
00:03:24,780 --> 00:03:29,470
Y puedes ver que tenemos un yo RE. temperamentos Graci edad 11.

57
00:03:29,550 --> 00:03:30,740
El nombre es George.

58
00:03:31,140 --> 00:03:37,140
Y solo quiero resaltar aquí que Kat se está refiriendo a lo que regresó de la base de

59
00:03:37,140 --> 00:03:43,530
datos porque también tenemos a George y también podríamos concordar sobre LUGG George si quisiéramos y veríamos que es

60
00:03:43,530 --> 00:03:44,340
un poco diferente.

61
00:03:44,340 --> 00:03:46,930
George no es lo que viene de una base de datos.

62
00:03:46,950 --> 00:03:52,860
George es lo que tenemos en javascript que intentamos guardar en la base de datos y eso es lo

63
00:03:52,860 --> 00:03:55,490
que se envía desde la base de datos.

64
00:03:56,400 --> 00:03:58,150
Así que déjame demostrarte que esto funcionó.

65
00:03:58,230 --> 00:04:06,960
Podemos abrir nuestra cuenta de Mongo. Y luego, si mostramos Digby's, ahora tenemos la aplicación cat para que podamos usar cat out.

66
00:04:08,820 --> 00:04:15,660
Y luego lo que podemos hacer es mostrar primero las colecciones y tenemos gatos que se crearon automáticamente al pluralizar

67
00:04:15,660 --> 00:04:23,530
esto y luego vamos a hacer un DVD con cosas para gatos, encontrar todo y tenemos a nuestro nuevo gato aquí, George.

68
00:04:24,720 --> 00:04:25,210
DE ACUERDO.

69
00:04:25,220 --> 00:04:28,650
Salgamos y ahora creamos un gato más.

70
00:04:28,770 --> 00:04:37,140
Así que cambia el nombre del gato de George a Mrs. Norris, que es el gato de Harry Potter, filma a su

71
00:04:37,140 --> 00:04:44,460
gato y no tengo idea de cuántos años tiene, solo digamos siete, aunque probablemente sea mucho más antiguo que eso.

72
00:04:44,640 --> 00:04:50,850
temperamento será malo, aunque para ser justos podríamos decir eso de todos los gatos en la historia del mundo.

73
00:04:50,850 --> 00:04:51,520
Y su

74
00:04:51,840 --> 00:04:57,000
Y sí, todavía dice George y está bien porque esto en realidad no tiene ningún impacto.

75
00:04:57,000 --> 00:05:00,660
Es solo el nombre de la variable en el lado de javascript.

76
00:05:00,720 --> 00:05:03,540
Pero recuerda que solo estamos escribiendo javascript.

77
00:05:03,720 --> 00:05:05,180
Pero luego lo estamos guardando aquí.

78
00:05:05,340 --> 00:05:10,240
Y toma los datos dentro y los envía a Mongo y los guarda en la base de datos.

79
00:05:10,350 --> 00:05:11,920
Pero esto no tiene nada que ver con eso.

80
00:05:12,000 --> 00:05:15,060
Así es como nos referimos a él en lugar de nuestro código.

81
00:05:15,060 --> 00:05:16,460
OK, intentemos lo mismo.

82
00:05:16,500 --> 00:05:18,610
Intenta y salva a ese gato de nuevo.

83
00:05:18,810 --> 00:05:28,710
Ejecutar el nodo Julius o el gato Stut Julius OK y obtenemos que solo guardamos otra captura en la base de datos y los 90 temperamentos malvados de la edad

84
00:05:28,760 --> 00:05:32,840
de siete nombres es la Sra. Norris.

85
00:05:32,910 --> 00:05:33,170
DE ACUERDO.

86
00:05:33,180 --> 00:05:36,410
Entonces, así es como podemos agregar gatos a la base de datos.

87
00:05:36,510 --> 00:05:43,620
La siguiente característica importante es recuperar gatos de la base de datos y para hacer eso vamos a volver aquí y

88
00:05:43,620 --> 00:05:46,150
aquí les voy a mostrar un nuevo método.

89
00:05:46,380 --> 00:05:52,050
Y, de hecho, voy a comentar esto; de lo contrario, cada vez que ejecutemos este código obtendremos un nuevo gato en

90
00:05:52,380 --> 00:05:54,500
nuestra base de datos y eso está bien.

91
00:05:54,510 --> 00:05:57,200
Pero solo puedo tener una señora Norris a la vez.

92
00:05:57,210 --> 00:06:00,400
No quiero tener cinco o seis corriendo en nuestra base de datos.

93
00:06:00,510 --> 00:06:02,280
Así que voy a salir por ahora.

94
00:06:02,640 --> 00:06:11,190
Así que aquí lo que tenemos que hacer es usar el método find en cat, que fue nuestro modelo que definimos aquí.

95
00:06:12,000 --> 00:06:17,260
Así que Cat dot find y solo vamos a pasar un objeto vacío.

96
00:06:17,430 --> 00:06:24,660
devolución de llamada y esta función de devolución de llamada es como la otra donde tomamos el error como el primer parámetro.

97
00:06:24,690 --> 00:06:26,350
Y luego la función de

98
00:06:26,460 --> 00:06:29,660
Si hay un error potencial, lo revisaremos para poder comenzar allí.

99
00:06:29,820 --> 00:06:33,140
Si hay un error, cancelemos ese registro.

100
00:06:33,380 --> 00:06:36,360
Oh no hay error

101
00:06:36,390 --> 00:06:41,780
Y luego también imprimiremos el error en sí mismo.

102
00:06:41,850 --> 00:06:47,760
De lo contrario, pasemos en este segundo parámetro, que va a ser el resultado del hallazgo de punto, que

103
00:06:47,760 --> 00:06:52,950
con suerte sería un gato múltiple, aunque posiblemente solo sea un gato, pero lo llamaremos gatos.

104
00:06:53,100 --> 00:06:53,910
Depende de nosotros

105
00:06:53,910 --> 00:06:56,830
Así como esto depende de nosotros también.

106
00:06:57,000 --> 00:07:02,460
Esperemos que ahora reconozcas que cada vez que tengamos una devolución de llamada, depende completamente de nosotros

107
00:07:02,820 --> 00:07:05,190
decidir qué nombre dar a estos parámetros.

108
00:07:05,670 --> 00:07:12,840
Así que haremos lo demás para cancelar ese registro de gatos y hagámoslo y agregaremos otro aquí

109
00:07:12,840 --> 00:07:17,290
para que sea más fácil ver a todos los gatos.

110
00:07:18,800 --> 00:07:19,350
DE ACUERDO.

111
00:07:19,620 --> 00:07:22,790
Y guarda eso y veamos si esto funciona.

112
00:07:22,980 --> 00:07:28,650
que vamos a ejecutar a gato para encontrar y volver a pasar un objeto vacío porque no estamos buscando ningún gato en particular.

113
00:07:28,650 --> 00:07:28,970
Así

114
00:07:28,980 --> 00:07:35,550
Solo queremos que todos ellos vuelvan a pasar por la devolución de llamada porque recuerde que esto lleva tiempo o puede

115
00:07:35,550 --> 00:07:36,530
que no funcione.

116
00:07:36,540 --> 00:07:37,860
Puede haber un error.

117
00:07:37,950 --> 00:07:42,060
Entonces este código se ejecuta cuando esto está hecho.

118
00:07:42,210 --> 00:07:42,530
Todo bien.

119
00:07:42,540 --> 00:07:44,700
Y verificaría si hay un error que imprimiste.

120
00:07:44,700 --> 00:07:47,280
De lo contrario, imprime los gatos.

121
00:07:47,280 --> 00:07:53,530
Asegurémonos ahora de que haya comentado todo lo demás, excepto las cosas importantes que

122
00:07:53,570 --> 00:07:57,510
aparecen, limpiaremos la consola y luego ejecutaremos nuestro archivo.

123
00:07:57,540 --> 00:07:58,630
Aquí vamos.

124
00:07:58,740 --> 00:08:05,480
Así que obtenemos nuestro viejo gato consiente ese registro y obtenemos una matriz que tiene dos moldes diferentes.

125
00:08:05,490 --> 00:08:06,120
Estupendo.

126
00:08:06,120 --> 00:08:09,150
Así que les mostraré una cosa más que podemos hacer para crear un gato.

127
00:08:09,330 --> 00:08:15,640
En lugar de hacerlo en dos pasos separados, como tenemos aquí donde estamos haciendo un nuevo gato y luego corriendo.

128
00:08:15,690 --> 00:08:17,030
Ahorre en ese gato.

129
00:08:17,220 --> 00:08:18,450
Bueno, también podemos hacer.

130
00:08:18,540 --> 00:08:20,580
Voy a venir a sacar esto por ahora.

131
00:08:20,580 --> 00:08:28,400
Todo esto en realidad se usa un método de crear que es como encontrar para que pueda crear.

132
00:08:28,950 --> 00:08:33,210
Y esto es básicamente nuevo y guarda todo de una vez.

133
00:08:33,300 --> 00:08:37,820
Entonces, en lugar de hacerlo primero y luego guardarlo para asegurarse de que funciona.

134
00:08:37,860 --> 00:08:43,140
Podemos probarlo inmediatamente con Create, que creará uno nuevo y lo guardará en una base de datos.

135
00:08:43,200 --> 00:08:45,450
Así que vamos a nombrar.

136
00:08:45,750 --> 00:08:47,270
Y me estoy quedando sin ideas aquí.

137
00:08:47,310 --> 00:08:49,890
Vamos a llamar a un gato blanco como la nieve.

138
00:08:50,310 --> 00:08:54,150
Y la edad es 15, que es un número.

139
00:08:54,330 --> 00:09:00,870
Y milagrosamente encontramos un gato cuyo temperamento era agradable.

140
00:09:01,050 --> 00:09:03,270
Niza es una palabra demasiado fuerte.

141
00:09:03,270 --> 00:09:04,980
Vámonos con soso.

142
00:09:05,310 --> 00:09:06,030
Aquí vamos.

143
00:09:06,270 --> 00:09:11,000
Así que lo guardamos y si ejecutamos esto ahora podría ser que no funcione.

144
00:09:11,080 --> 00:09:14,960
Bueno, no tendremos forma de saberlo hasta que agreguemos la devolución de llamada aquí.

145
00:09:15,690 --> 00:09:22,380
Entonces, de nuevo, con suerte, verá que este patrón lo verá todo el tiempo y luego lo haremos si es

146
00:09:22,380 --> 00:09:25,950
que lo hacemos alguna vez, y lo haremos fácil y rápido.

147
00:09:25,990 --> 00:09:27,400
Cancele ese error de registro.

148
00:09:27,810 --> 00:09:31,340
Else canceló log cat.

149
00:09:31,710 --> 00:09:38,070
Y recuerda que lo llamo gato porque estamos creando un solo gato, y aquí los llamé gatos, pero es solo

150
00:09:38,100 --> 00:09:41,140
una cuestión de lo que tiene sentido para un nombre.

151
00:09:41,190 --> 00:09:43,590
Entonces, en este caso, los gatos tienen más sentido aquí.

152
00:09:43,610 --> 00:09:50,410
Cat tiene más sentido, pero también podríamos llamarlo gato nuevo o gato recién creado o gato devuelto a todos.

153
00:09:51,060 --> 00:09:52,130
OK, así que guarda.

154
00:09:52,380 --> 00:09:55,360
Y veamos si esto funciona.

155
00:09:55,380 --> 00:10:02,910
Así que ahora lo que hemos hecho es primero aquí, hemos agregado este nuevo gato que creamos y lo recuperamos de la base

156
00:10:02,910 --> 00:10:07,110
de datos de Blanche, el temperamento Blanche de la edad de 15 años.

157
00:10:07,110 --> 00:10:09,800
Y luego también dejamos este código que no comentamos.

158
00:10:09,870 --> 00:10:16,980
Así que también fuimos y encontramos a todos los gatos en la base de datos y obtuvimos tres gatos diferentes malvados y

159
00:10:16,990 --> 00:10:19,490
malvados y sí, esos podrían ser sus nombres.

160
00:10:19,560 --> 00:10:21,340
Técnicamente ese es su temperamento.

161
00:10:21,450 --> 00:10:24,590
Sus nombres son George Mrs. Norris y Blancanieves.

162
00:10:25,170 --> 00:10:25,660
DE ACUERDO.

163
00:10:25,770 --> 00:10:27,410
Entonces vimos muchas cosas aquí.

164
00:10:27,570 --> 00:10:32,800
Hagamos una recapitulación muy rápida y reduzcamos esto un poco y comencemos desde el principio.

165
00:10:33,180 --> 00:10:38,980
Entonces, ¿qué es Mongersose Mongersose es lo que se conoce como un mapeador de datos objeto odio.

166
00:10:39,000 --> 00:10:44,190
Lo que realmente significa es que es una forma de escribir JavaScript dentro de nuestros archivos

167
00:10:44,190 --> 00:10:49,340
Javascript, como nuestra aplicación J. S. o expresar archivos y ese código JavaScript interactuará con nuestra base de datos.

168
00:10:49,560 --> 00:10:55,710
una capa de javascript encima de Mongo DB y agrega algunas cosas extra de lujo que aún no hemos visto.

169
00:10:55,710 --> 00:10:56,930
Así que básicamente es

170
00:10:57,060 --> 00:11:02,370
Pero tiene algunos métodos extra especiales que hacen que sea más fácil para nosotros y luego conectamos la base de

171
00:11:02,370 --> 00:11:05,480
datos de la aplicación cat creada para nosotros porque no existía.

172
00:11:05,580 --> 00:11:08,740
Pero la próxima vez nos conectamos y en realidad cada vez que nos conectamos.

173
00:11:08,760 --> 00:11:14,060
Aparte de la primera vez que ejecutamos el archivo, nos conectamos a la misma aplicación de gato que ya existía.

174
00:11:14,250 --> 00:11:20,640
Y luego definimos un esquema que es un plan para lo que un gato se parece a un nombre de edad y temperamento.

175
00:11:20,640 --> 00:11:24,760
Ahora no lo mencioné, pero no tenemos que tener un nombre de edad y temperamento.

176
00:11:24,810 --> 00:11:30,810
cuando tengamos un usuario que se registre en nuestro sitio web, no queremos que puedan dejar la contraseña en blanco. blanco.

177
00:11:30,990 --> 00:11:35,700
Si los dejamos en blanco, no obtendremos ningún error, pero podemos agregar esa funcionalidad y lo

178
00:11:35,820 --> 00:11:37,300
haremos más tarde, por ejemplo,

179
00:11:37,320 --> 00:11:38,910
Necesitamos que ambos estén allí.

180
00:11:38,940 --> 00:11:44,720
Entonces hay una manera de hacer eso con Mongoose y luego tenemos lo que creo que es la línea más confusa

181
00:11:45,180 --> 00:11:47,750
conceptualmente, que es donde tomamos el esquema de gato.

182
00:11:47,750 --> 00:11:48,880
El plan para un gato

183
00:11:48,990 --> 00:11:54,960
Y lo compilamos en un modelo que devuelve un objeto que tiene un montón de métodos para que sepa sobre

184
00:11:54,960 --> 00:11:57,050
nuestro nombre de plan edad y temperamento.

185
00:11:57,270 --> 00:12:03,000
Pero también agrega cosas como crear y encontrar y muchos más métodos.

186
00:12:03,120 --> 00:12:08,130
Entonces, lo guardamos para gato con una C mayúscula que es convencional para que sea un

187
00:12:08,220 --> 00:12:13,560
nombre capital para nuestro modelo y luego hicimos cosas como hacer un gato nuevo y luego guardarlo.

188
00:12:13,680 --> 00:12:16,920
Y la clave es la devolución de llamada o tenemos un error.

189
00:12:16,980 --> 00:12:18,500
Y luego vuelven los datos.

190
00:12:18,930 --> 00:12:23,540
Y luego creamos también o hacemos que el gato cree la misma idea exacta.

191
00:12:23,580 --> 00:12:27,900
Tenemos una devolución de llamada y luego tenemos otro método aquí.

192
00:12:28,170 --> 00:12:30,900
Así que te mostraré algunos métodos más a medida que avanzamos.

193
00:12:30,900 --> 00:12:36,180
El punto no es que hayas memorizado la sintaxis exacta de los métodos, sino que, conceptualmente,

194
00:12:36,180 --> 00:12:38,030
tienes claro cómo funciona esto.

195
00:12:38,070 --> 00:12:44,300
Instalamos mongoose connect con el modelo de esquema de base de datos y luego interactuamos con la base de datos.

196
00:12:44,310 --> 00:12:48,060
Muy bien, así es todo por ahora y en el próximo video voy a mostrarte cómo puedes agregar

197
00:12:48,060 --> 00:12:51,660
mangostas a una aplicación express e interactuar con la base de datos dentro de una aplicación express
