﻿1
00:00:01,150 --> 00:00:04,333
‫Instructor: A continuación, hablemos de validadores personalizados.

2
00:00:05,940 --> 00:00:10,110
‫Entonces, a veces, los validadores incorporados simplemente no son suficientes.

3
00:00:10,110 --> 00:00:11,100
‫Y en

4
00:00:11,100 --> 00:00:14,250
‫ese caso, también podemos construir nuestros propios validadores personalizados.

5
00:00:14,250 --> 00:00:18,230
‫Y un validador es en realidad una función simple

6
00:00:18,230 --> 00:00:21,250
‫que debería devolver verdadero o falso.

7
00:00:21,250 --> 00:00:24,330
‫Y si devuelve falso, significa que hay un error.

8
00:00:24,330 --> 00:00:26,650
‫Y por otro lado cuando devolvemos

9
00:00:26,650 --> 00:00:28,690
‫verdadero, entonces la validación es

10
00:00:28,690 --> 00:00:31,260
‫correcta y la entrada puede ser aceptada.

11
00:00:31,260 --> 00:00:35,560
‫Bien, ahora construyamos un validador personalizado simple aquí.

12
00:00:35,560 --> 00:00:39,980
‫Y lo que quiero validar es si el descuento del precio es

13
00:00:39,980 --> 00:00:42,863
‫realmente menor que el precio en sí.

14
00:00:44,440 --> 00:00:46,130
‫Eso es algo que no

15
00:00:46,130 --> 00:00:47,980
‫podemos hacer con los validadores integrados,

16
00:00:47,980 --> 00:00:49,980
‫por lo que simplemente construiremos los nuestros.

17
00:00:52,575 --> 00:00:54,690
‫Necesitamos ahora especificar aquí un objeto

18
00:00:54,690 --> 00:00:56,453
‫para las opciones de SchemaType.

19
00:01:00,170 --> 00:01:01,003
‫Bien.

20
00:01:05,190 --> 00:01:07,400
‫Entonces, el tipo es número,

21
00:01:07,400 --> 00:01:09,880
‫y luego para especificar nuestro validador

22
00:01:09,880 --> 00:01:11,853
‫usamos la propiedad validate.

23
00:01:15,270 --> 00:01:17,580
‫Validar, y luego, como dije, una función de

24
00:01:17,580 --> 00:01:19,173
‫devolución de llamada simple.

25
00:01:21,600 --> 00:01:23,840
‫Y nuevamente, no es una función de

26
00:01:23,840 --> 00:01:25,090
‫flecha, sino una función

27
00:01:25,090 --> 00:01:26,200
‫real, porque en

28
00:01:26,200 --> 00:01:28,730
‫esta función vamos a tener acceso a la

29
00:01:28,730 --> 00:01:30,983
‫variable this, que apuntará al documento actual.

30
00:01:31,940 --> 00:01:34,540
‫Ahora bien, si no necesita la variable this, entonces,

31
00:01:34,540 --> 00:01:37,140
‫por supuesto, podría usar una función de flecha.

32
00:01:39,710 --> 00:01:41,150
‫Tenemos una función de devolución

33
00:01:41,150 --> 00:01:43,910
‫de llamada, y esa función de devolución de llamada en

34
00:01:43,910 --> 00:01:46,180
‫realidad tiene acceso al valor que se ingresó.

35
00:01:46,180 --> 00:01:50,330
‫Entonces, en este caso, el precio de descuento que el usuario especificó.

36
00:01:50,330 --> 00:01:53,773
‫Así que eso es lo que yo llamo valor, val para abreviar.

37
00:01:55,340 --> 00:01:57,550
‫Recuerde que debemos devolver

38
00:01:57,550 --> 00:01:59,873
‫verdadero o falso de este validador.

39
00:02:04,090 --> 00:02:05,760
‫¿Cuándo queremos devolver

40
00:02:05,760 --> 00:02:08,230
‫falso y cuándo queremos devolver verdadero?

41
00:02:08,230 --> 00:02:11,210
‫Bueno, queremos un error cuando el precio de descuento

42
00:02:11,210 --> 00:02:13,553
‫es mayor o igual que el precio.

43
00:02:14,430 --> 00:02:17,000
‫Entonces, básicamente, lo que queremos devolver aquí

44
00:02:17,000 --> 00:02:19,800
‫es la prueba de probar si el valor

45
00:02:19,800 --> 00:02:23,493
‫es menor que esto. precio.

46
00:02:26,050 --> 00:02:30,210
‫Muy bien, digamos que el precio de descuento es 100

47
00:02:30,210 --> 00:02:33,693
‫y que el precio real es 200.

48
00:02:35,090 --> 00:02:39,080
‫100 es menor que 200, cierto, por lo que no tenemos ningún error.

49
00:02:39,080 --> 00:02:42,110
‫Y eso tiene sentido porque eso es exactamente lo que queremos.

50
00:02:42,110 --> 00:02:44,990
‫El descuento de precio siempre debe ser menor.

51
00:02:44,990 --> 00:02:49,000
‫Por otro lado, si el descuento es 250,

52
00:02:49,000 --> 00:02:50,970
‫entonces resulta falso.

53
00:02:50,970 --> 00:02:54,623
‫Y luego falso, recuerde, desencadenará un error de validación.

54
00:02:57,980 --> 00:02:59,530
‫Probémoslo ahora en realidad.

55
00:03:01,890 --> 00:03:02,723
‫Precio

56
00:03:03,877 --> 00:03:06,800
‫(chasquido del teclado) y descuento

57
00:03:06,800 --> 00:03:07,973
‫de precio.

58
00:03:09,220 --> 00:03:12,000
‫Y usemos los valores que usamos

59
00:03:13,870 --> 00:03:17,133
‫antes y también necesito cambiar el nombre aquí.

60
00:03:18,660 --> 00:03:22,990
‫Bien, ahora nuestro descuento es mayor que el precio y

61
00:03:22,990 --> 00:03:24,833
‫deberíamos obtener nuestro error.

62
00:03:26,440 --> 00:03:30,560
‫Está bien y, de hecho, tenemos un error de validación.

63
00:03:30,560 --> 00:03:33,850
‫Así que falló para el descuento del precio de la ruta.

64
00:03:33,850 --> 00:03:37,020
‫Ahora, no tenemos ningún mensaje personalizado aquí, así

65
00:03:37,020 --> 00:03:39,113
‫que arreglemos eso rápidamente.

66
00:03:40,230 --> 00:03:43,580
‫Está bien, y la forma en que lo hacemos es muy similar

67
00:03:43,580 --> 00:03:45,650
‫a como lo hicimos con la enumeración.

68
00:03:47,750 --> 00:03:50,510
‫Así que necesitamos especificar otro objeto y luego

69
00:03:50,510 --> 00:03:52,313
‫establecer la propiedad del mensaje.

70
00:03:55,830 --> 00:03:56,663
‫Validar

71
00:03:59,320 --> 00:04:00,940
‫debería ser un objeto

72
00:04:00,940 --> 00:04:03,280
‫y luego tenemos nuestro mensaje allí

73
00:04:04,370 --> 00:04:06,510
‫y esta función aquí vivirá

74
00:04:06,510 --> 00:04:08,597
‫en una propiedad llamada validador.

75
00:04:15,639 --> 00:04:18,205
‫Está bien y nuestro mensaje aquí

76
00:04:18,205 --> 00:04:21,527
‫será (taconeo del teclado) El precio de descuento

77
00:04:21,527 --> 00:04:22,360
‫debe estar

78
00:04:23,510 --> 00:04:24,343
‫por

79
00:04:26,220 --> 00:04:27,693
‫debajo del precio normal.

80
00:04:30,520 --> 00:04:34,840
‫Aquí necesitamos una coma y ahora estamos bien.

81
00:04:34,840 --> 00:04:38,480
‫Y de hecho, un truco muy bueno es que este mensaje

82
00:04:38,480 --> 00:04:41,003
‫aquí también tiene acceso al valor.

83
00:04:42,180 --> 00:04:44,930
‫Y esto funciona de una manera extraña y esto

84
00:04:44,930 --> 00:04:47,520
‫realmente es interno de Mongoose, por lo que

85
00:04:47,520 --> 00:04:49,610
‫esto no tiene nada que

86
00:04:49,610 --> 00:04:54,283
‫ver con JavaScript, por lo que simplemente puedo usar las llaves aquí y luego valorar.

87
00:04:56,030 --> 00:04:58,020
‫Entonces, esta pieza aquí tendrá acceso al

88
00:04:58,020 --> 00:04:59,900
‫valor que se ingresó, por

89
00:04:59,900 --> 00:05:02,973
‫lo que tiene exactamente el mismo valor que esta variable val.

90
00:05:06,150 --> 00:05:07,400
‫Así que

91
00:05:08,720 --> 00:05:10,850
‫probemos eso de nuevo y ahora

92
00:05:10,850 --> 00:05:15,800
‫recibimos nuestro mensaje e incluso accedemos al precio de 250 que especificamos aquí.

93
00:05:15,800 --> 00:05:19,890
‫Ahora cambiémoslo a 100 y ahora debería funcionar y

94
00:05:19,890 --> 00:05:21,920
‫sí, lo hace.

95
00:05:21,920 --> 00:05:23,570
‫Que bien.

96
00:05:23,570 --> 00:05:26,290
‫Ahora hay una advertencia muy importante que

97
00:05:26,290 --> 00:05:28,030
‫debemos notar aquí y es

98
00:05:28,030 --> 00:05:30,763
‫que dentro de una función de validación,

99
00:05:30,763 --> 00:05:33,080
‫esta palabra clave solo apuntará al

100
00:05:33,080 --> 00:05:34,290
‫documento actual

101
00:05:34,290 --> 00:05:36,573
‫cuando estemos creando un nuevo documento.

102
00:05:37,740 --> 00:05:40,653
‫Entonces, esta función aquí no funcionará en la actualización.

103
00:05:41,813 --> 00:05:44,143
‫Y eso es muy importante de tener en cuenta.

104
00:05:45,412 --> 00:05:48,230
‫Verá, que en Mongoose, hay un par de advertencias

105
00:05:48,230 --> 00:05:50,110
‫que realmente debe tener en

106
00:05:50,110 --> 00:05:51,990
‫cuenta al trabajar con él.

107
00:05:51,990 --> 00:05:54,430
‫Y aprendí todo esto por

108
00:05:54,430 --> 00:05:57,390
‫experiencia y por eso ahora puedo contárselo.

109
00:05:57,390 --> 00:06:00,550
‫Entonces me encontré con un error una vez con este

110
00:06:00,550 --> 00:06:02,090
‫y, a partir de

111
00:06:02,090 --> 00:06:05,220
‫ese momento, sé que solo puedo usar este tipo de

112
00:06:05,220 --> 00:06:07,160
‫validador con una palabra clave this

113
00:06:07,160 --> 00:06:09,730
‫allí cuando en realidad estoy creando nuevos documentos.

114
00:06:09,730 --> 00:06:12,143
‫Así que déjame escribir eso aquí para ti.

115
00:06:12,143 --> 00:06:15,143
‫(Tintineo del teclado) Muy bien, espero

116
00:06:25,210 --> 00:06:28,610
‫que esté tomando nota de todas estas

117
00:06:28,610 --> 00:06:32,440
‫pequeñas piezas de información muy importantes que son

118
00:06:32,440 --> 00:06:34,083
‫muy importantes.

119
00:06:34,940 --> 00:06:36,680
‫Lo mismo aquí abajo.

120
00:06:36,680 --> 00:06:38,530
‫Recuerde que donde le

121
00:06:38,530 --> 00:06:42,100
‫dije que este DOCUMENT MIDDLEWARE solo se ejecuta realmente para

122
00:06:42,100 --> 00:06:44,640
‫guardar y crear, pero no para actualizar.

123
00:06:44,640 --> 00:06:46,700
‫Y esa es una de estas otras

124
00:06:46,700 --> 00:06:49,013
‫cosas que es realmente importante no olvidar nunca.

125
00:06:51,330 --> 00:06:52,860
‫Ahora, en este caso

126
00:06:52,860 --> 00:06:55,870
‫específico aquí, en realidad hay formas de solucionar este problema,

127
00:06:55,870 --> 00:06:58,903
‫pero son muy complicadas y no vale la pena seguirlas.

128
00:07:00,070 --> 00:07:02,810
‫Y, por supuesto, también podríamos escribir funciones de

129
00:07:02,810 --> 00:07:05,370
‫validación que no dependan de esta variable.

130
00:07:05,370 --> 00:07:08,000
‫Entonces, en este caso, solo lo necesitamos

131
00:07:08,000 --> 00:07:11,363
‫porque estamos comparando un valor con el valor de otro campo.

132
00:07:14,150 --> 00:07:17,370
‫Este es un validador personalizado que podemos usar en

133
00:07:17,370 --> 00:07:20,180
‫Mongoose y que nosotros mismos escribimos.

134
00:07:20,180 --> 00:07:23,170
‫Pero también, hay un par de bibliotecas en

135
00:07:23,170 --> 00:07:26,300
‫npm para la validación de datos que simplemente podemos

136
00:07:26,300 --> 00:07:30,183
‫conectar aquí como validadores personalizados que no tenemos que escribir nosotros mismos.

137
00:07:31,394 --> 00:07:34,370
‫Y la biblioteca más popular se llama validador, así

138
00:07:34,370 --> 00:07:36,883
‫que echemos un vistazo a esa.

139
00:07:41,490 --> 00:07:44,520
‫Validator y luego estoy buscando GitHub

140
00:07:44,520 --> 00:07:48,620
‫porque generalmente todas estas bibliotecas están siempre en GitHub.

141
00:07:48,620 --> 00:07:51,300
‫Y la documentación también estará allí, así

142
00:07:52,210 --> 00:07:53,660
‫que aquí puede ver

143
00:07:55,060 --> 00:07:56,330
‫que el validador

144
00:07:56,330 --> 00:07:59,773
‫es una biblioteca de validadores y desinfectantes de cadenas.

145
00:08:01,155 --> 00:08:05,310
‫También ves que es bastante popular con 13,00 estrellas

146
00:08:05,310 --> 00:08:06,500
‫y eso

147
00:08:06,500 --> 00:08:08,033
‫es muy bueno.

148
00:08:09,880 --> 00:08:11,830
‫También vemos que esta biblioteca valida

149
00:08:11,830 --> 00:08:13,683
‫y desinfecta solo cadenas.

150
00:08:15,562 --> 00:08:18,280
‫Aquí están todas las cosas sobre cómo lo

151
00:08:18,280 --> 00:08:21,070
‫instalamos y cómo lo usamos, pero eso es algo simple.

152
00:08:21,070 --> 00:08:22,655
‫Eso ya lo sabemos.

153
00:08:22,655 --> 00:08:24,650
‫Pero lo que quiero mostrarles

154
00:08:24,650 --> 00:08:26,990
‫es la lista de todos los validadores disponibles.

155
00:08:26,990 --> 00:08:29,490
‫Por ejemplo, tenemos isAlpha, que

156
00:08:29,490 --> 00:08:32,900
‫comprobará si la cadena contiene solo letras.

157
00:08:32,900 --> 00:08:36,140
‫Tenemos alfanumérico, así que solo letras y números, y

158
00:08:36,980 --> 00:08:38,910
‫realmente tenemos muchas cosas aquí.

159
00:08:38,910 --> 00:08:40,820
‫Así que verifique si una cadena es

160
00:08:40,820 --> 00:08:43,870
‫boolian, o verifique si la cadena es una tarjeta de crédito, por lo

161
00:08:43,870 --> 00:08:46,160
‫que es un número de tarjeta de crédito válido.

162
00:08:46,160 --> 00:08:48,700
‫O si es una

163
00:08:48,700 --> 00:08:52,860
‫moneda o ves realmente todo tipo de pruebas diferentes.

164
00:08:52,860 --> 00:08:56,783
‫Por ejemplo, un ISBN, es decir, para comprobar los números de los libros.

165
00:08:59,020 --> 00:09:02,683
‫Para probar si es un número entero o si la cadena está en minúsculas.

166
00:09:03,740 --> 00:09:07,050
‫Y como puede ver, siempre que necesite validación de datos,

167
00:09:07,050 --> 00:09:08,970
‫puede tomar una de estas

168
00:09:08,970 --> 00:09:11,993
‫bibliotecas y simplemente conectarlas a sus validadores de Mongoose.

169
00:09:13,650 --> 00:09:15,560
‫Ahora, muchas de las

170
00:09:15,560 --> 00:09:17,800
‫cosas que están aquí ya están

171
00:09:17,800 --> 00:09:20,810
‫integradas en Mongoose, por lo que no las necesitamos

172
00:09:20,810 --> 00:09:23,010
‫todas, está bien, pero hay una

173
00:09:23,010 --> 00:09:25,880
‫muy específica, que quiero usar, que es isAlpha.

174
00:09:25,880 --> 00:09:30,290
‫Así que quiero comprobar si el nombre del tour solo contiene letras.

175
00:09:30,290 --> 00:09:32,200
‫Y para eso puedo usar esta función

176
00:09:32,200 --> 00:09:33,963
‫de la biblioteca del validador.

177
00:09:35,940 --> 00:09:40,000
‫Regresemos y comencemos instalando el

178
00:09:41,660 --> 00:09:43,877
‫validador npm

179
00:09:43,877 --> 00:09:46,163
‫i (teclado clacking).

180
00:09:52,614 --> 00:09:53,793
‫Eso fue exitoso.

181
00:09:56,481 --> 00:09:57,931
‫Entonces necesito

182
00:10:01,430 --> 00:10:05,363
‫importarlo aquí y ahora estamos listos para usarlo aquí.

183
00:10:07,380 --> 00:10:08,530
‫Lo usaré aquí

184
00:10:08,530 --> 00:10:10,790
‫y otra vez, uso la propiedad de validación

185
00:10:12,510 --> 00:10:13,900
‫y ahora todo lo que

186
00:10:13,900 --> 00:10:16,253
‫necesito hacer es conectar realmente la función aquí.

187
00:10:18,470 --> 00:10:21,350
‫Y en el validador, funciona así, donde

188
00:10:21,350 --> 00:10:23,530
‫el validador es un

189
00:10:23,530 --> 00:10:26,330
‫objeto y ahí tenemos todos estos métodos.

190
00:10:26,330 --> 00:10:27,560
‫Validator es Alpha,

191
00:10:27,560 --> 00:10:28,393
‫así que

192
00:10:30,240 --> 00:10:31,073
‫ese

193
00:10:31,073 --> 00:10:32,490
‫es el que elegimos

194
00:10:32,490 --> 00:10:33,783
‫de la documentación.

195
00:10:34,936 --> 00:10:36,090
‫Y eso es todo.

196
00:10:36,090 --> 00:10:37,760
‫Entonces no lo llamamos aquí.

197
00:10:37,760 --> 00:10:39,900
‫Básicamente, solo especificamos que

198
00:10:39,900 --> 00:10:42,780
‫esta es una función que debe usarse.

199
00:10:42,780 --> 00:10:45,920
‫Al igual que el nuestro, como nuestro propio validador, no

200
00:10:45,920 --> 00:10:46,830
‫lo llamamos.

201
00:10:46,830 --> 00:10:48,870
‫Simplemente colocamos aquí esta función de devolución de

202
00:10:48,870 --> 00:10:49,970
‫llamada que se

203
00:10:49,970 --> 00:10:52,153
‫llamará tan pronto como se validen los datos.

204
00:10:54,527 --> 00:10:56,090
‫Y aquí es lo mismo.

205
00:10:56,090 --> 00:10:58,490
‫Ahora, si queremos especificar un mensaje de

206
00:10:58,490 --> 00:11:00,550
‫error, funciona igual que aquí.

207
00:11:00,550 --> 00:11:04,180
‫Podemos especificar una matriz y luego el mensaje de error después de la

208
00:11:04,180 --> 00:11:05,850
‫función de devolución de llamada.

209
00:11:05,850 --> 00:11:07,883
‫Y podríamos haberlo hecho aquí abajo.

210
00:11:09,120 --> 00:11:11,000
‫Entonces aquí lo hicimos de manera diferente.

211
00:11:11,000 --> 00:11:13,230
‫Aquí, luego creamos este nuevo objeto con

212
00:11:13,230 --> 00:11:16,010
‫el validador allí y el mensaje, pero también

213
00:11:16,010 --> 00:11:18,220
‫podríamos haberlo hecho con una matriz,

214
00:11:18,220 --> 00:11:20,183
‫pero eso habría parecido extraño.

215
00:11:21,130 --> 00:11:23,830
‫Pero aquí arriba, dado que la función es tan

216
00:11:23,830 --> 00:11:26,540
‫pequeña, entonces esto es tan pequeño, simplemente podemos ponerlo aquí

217
00:11:26,540 --> 00:11:29,040
‫y luego, como segundo argumento en la matriz, agregar

218
00:11:29,040 --> 00:11:30,463
‫el mensaje de error.

219
00:11:32,640 --> 00:11:35,110
‫El nombre del tour

220
00:11:35,973 --> 00:11:39,310
‫solo debe contener (sonido del teclado) caracteres.

221
00:11:39,310 --> 00:11:41,053
‫Genial, mira eso.

222
00:11:42,320 --> 00:11:47,053
‫De vuelta en Postman, eliminemos nuestro descuento en el precio.

223
00:11:48,990 --> 00:11:51,290
‫Y agreguemos un número aquí.

224
00:11:51,290 --> 00:11:53,140
‫Y entonces eso debería fallar en

225
00:11:54,450 --> 00:11:57,433
‫la prueba y, de hecho, el nombre solo debe contener caracteres.

226
00:11:59,760 --> 00:12:01,430
‫Deshagámonos de eso.

227
00:12:01,430 --> 00:12:02,760
‫Tampoco podemos usar este nombre.

228
00:12:02,760 --> 00:12:05,040
‫Ya lo usamos antes,

229
00:12:05,040 --> 00:12:08,500
‫por lo que también se puede escribir aquí

230
00:12:10,060 --> 00:12:13,503
‫con caracteres y todavía recibimos este error aquí.

231
00:12:15,470 --> 00:12:18,830
‫Bueno, probablemente se deba a los espacios.

232
00:12:18,830 --> 00:12:20,970
‫Así que vamos a deshacernos de los

233
00:12:20,970 --> 00:12:23,900
‫espacios, lo que por supuesto no será realmente útil

234
00:12:23,900 --> 00:12:25,910
‫y, de hecho, ahora funciona.

235
00:12:25,910 --> 00:12:27,900
‫Entonces el problema eran los

236
00:12:27,900 --> 00:12:30,483
‫espacios, pero obviamente queremos mantener los espacios aquí.

237
00:12:32,650 --> 00:12:36,400
‫De hecho, este error de validación no es realmente útil, por lo

238
00:12:36,400 --> 00:12:37,993
‫que me deshaceré de él.

239
00:12:39,340 --> 00:12:42,430
‫Considere que esto aquí fue solo para demostrar que

240
00:12:42,430 --> 00:12:45,030
‫podemos usar una biblioteca externa como esta

241
00:12:45,030 --> 00:12:46,880
‫para realizar la validación.

242
00:12:46,880 --> 00:12:49,670
‫Y, de hecho, seguiremos usando esta biblioteca un poco

243
00:12:49,670 --> 00:12:53,390
‫más tarde cuando verifiquemos si el correo electrónico del usuario es realmente válido.

244
00:12:53,390 --> 00:12:54,860
‫Esa es otra buena

245
00:12:54,860 --> 00:12:56,873
‫función que se incluye en esta biblioteca.

246
00:12:58,788 --> 00:13:00,290
‫De nuevo, así es como funciona.

247
00:13:00,290 --> 00:13:02,270
‫No es realmente útil en

248
00:13:02,270 --> 00:13:04,050
‫este caso, por lo que

249
00:13:04,050 --> 00:13:08,160
‫si realmente quisiéramos probar si la cadena solo contiene letras y

250
00:13:08,160 --> 00:13:09,700
‫espacios, probablemente sería

251
00:13:09,700 --> 00:13:12,250
‫más simple usar una expresión regular para

252
00:13:12,250 --> 00:13:14,153
‫probar ese tipo de patrón.

253
00:13:15,210 --> 00:13:16,500
‫Pero no voy

254
00:13:16,500 --> 00:13:18,410
‫a hacer eso aquí porque esta conferencia

255
00:13:18,410 --> 00:13:20,230
‫fue más sobre estos validadores personalizados.

256
00:13:20,230 --> 00:13:23,810
‫De todos modos, con esta conferencia, ahora estamos listos

257
00:13:23,810 --> 00:13:25,863
‫con la introducción a Mongoose.

258
00:13:27,370 --> 00:13:29,500
‫Ahora, como puede imaginar, todavía hay mucho

259
00:13:29,500 --> 00:13:31,530
‫que aprender sobre Mongoose y, de hecho,

260
00:13:31,530 --> 00:13:34,540
‫tenemos una sección avanzada de Mongoose un poco más adelante

261
00:13:34,540 --> 00:13:36,010
‫en el curso

262
00:13:36,010 --> 00:13:38,010
‫y, por supuesto, también en las

263
00:13:38,010 --> 00:13:39,710
‫otras secciones, seguirá aprendiendo más

264
00:13:39,710 --> 00:13:41,390
‫y más sobre cómo usar

265
00:13:41,390 --> 00:13:43,183
‫Mongoose de una manera realmente profesional.

266
00:13:44,380 --> 00:13:47,070
‫Ya has aprendido mucho hasta este

267
00:13:47,070 --> 00:13:50,630
‫punto, así que enhorabuena por llegar tan lejos y

268
00:13:50,630 --> 00:13:53,680
‫es genial ver que todavía estás conmigo aquí.

269
00:13:53,680 --> 00:13:56,913
‫Muy buen trabajo y espero verte pronto.

