﻿1
00:00:01,100 --> 00:00:02,860
‫Instructor: Al igual que

2
00:00:02,860 --> 00:00:06,080
‫Express, Mongoose también tiene el concepto de middleware.

3
00:00:06,080 --> 00:00:08,270
‫Y ahora aprendamos sobre el primer

4
00:00:08,270 --> 00:00:11,163
‫tipo de middleware, que es el middleware de documentos.

5
00:00:12,830 --> 00:00:15,330
‫Ahora, al igual que con Express, podemos

6
00:00:15,330 --> 00:00:17,860
‫usar el middleware Mongoose para hacer que algo

7
00:00:17,860 --> 00:00:19,430
‫suceda entre dos eventos.

8
00:00:19,430 --> 00:00:22,740
‫Por ejemplo, cada vez que se guarda un

9
00:00:22,740 --> 00:00:25,740
‫nuevo documento en la base de datos,

10
00:00:25,740 --> 00:00:29,450
‫podemos ejecutar una función entre el comando de guardar y

11
00:00:29,450 --> 00:00:33,480
‫el guardado real del documento, o también después del guardado real.

12
00:00:33,480 --> 00:00:35,820
‫Y esa es la razón por la que

13
00:00:35,820 --> 00:00:38,590
‫el middleware Mongoose también se llama pre y post hooks.

14
00:00:38,590 --> 00:00:41,140
‫De nuevo, porque podemos definir funciones para que

15
00:00:41,140 --> 00:00:44,710
‫se ejecuten antes o después de un determinado evento, como guardar

16
00:00:44,710 --> 00:00:47,100
‫un documento en la base de datos.

17
00:00:47,100 --> 00:00:52,100
‫Entonces, el middleware es un concepto absolutamente fundamental en Mongoose,

18
00:00:52,100 --> 00:00:55,180
‫al igual que en Express.

19
00:00:55,180 --> 00:00:57,190
‫Y hay toneladas de posibilidades

20
00:00:57,190 --> 00:00:59,780
‫y casos de uso para middleware, y

21
00:00:59,780 --> 00:01:02,540
‫usaremos middleware todo el tiempo en este proyecto.

22
00:01:02,540 --> 00:01:06,050
‫Por lo tanto, hay cuatro tipos de

23
00:01:06,050 --> 00:01:10,080
‫middleware en Mongoose: middleware de documentos, consultas, agregados y modelos.

24
00:01:10,080 --> 00:01:12,110
‫Y en esta conferencia, hablaremos

25
00:01:12,110 --> 00:01:14,410
‫sobre el software intermedio de documentos, que

26
00:01:14,410 --> 00:01:18,110
‫es un software intermedio que puede actuar sobre el documento procesado actualmente.

27
00:01:18,110 --> 00:01:20,920
‫Entonces, al igual que las propiedades virtuales,

28
00:01:20,920 --> 00:01:23,613
‫definimos un middleware en el esquema,

29
00:01:25,800 --> 00:01:28,543
‫entonces tourSchema. pre.

30
00:01:30,030 --> 00:01:32,850
‫Y esto es para middleware previo, que nuevamente,

31
00:01:32,850 --> 00:01:35,450
‫se ejecutará antes de un evento real.

32
00:01:35,450 --> 00:01:39,360
‫Y ese evento en este caso es el evento de salvar.

33
00:01:39,360 --> 00:01:41,350
‫Y entonces esta función de devolución de

34
00:01:41,350 --> 00:01:42,613
‫llamada que vamos a

35
00:01:43,870 --> 00:01:44,820
‫definir aquí a

36
00:01:48,200 --> 00:01:51,980
‫continuación, funciona para que esta función se llame antes de que se guarde un

37
00:01:51,980 --> 00:01:53,943
‫documento real en la base de datos.

38
00:01:55,407 --> 00:02:00,407
‫Así que esto es middleware de documentos y se

39
00:02:02,010 --> 00:02:05,910
‫ejecuta, déjame escribir todo eso aquí.

40
00:02:05,910 --> 00:02:09,640
‫Por lo tanto, se ejecuta antes del comando de

41
00:02:10,550 --> 00:02:13,953
‫guardar y el. crear comando.

42
00:02:14,860 --> 00:02:17,040
‫Pero no en insertar muchos.

43
00:02:17,040 --> 00:02:22,040
‫Entonces, si usamos este comando aquí, insertMany, entonces eso en

44
00:02:22,450 --> 00:02:26,153
‫realidad no activará el middleware de guardado.

45
00:02:27,600 --> 00:02:29,140
‫Así que tenlo siempre en cuenta.

46
00:02:29,140 --> 00:02:32,780
‫Es muy importante darse cuenta de que solo

47
00:02:32,780 --> 00:02:35,560
‫al guardar y al crear este middleware

48
00:02:35,560 --> 00:02:36,943
‫se ejecutará.

49
00:02:38,929 --> 00:02:41,740
‫Entonces, comencemos por hacer una consola simple. log y lo que voy

50
00:02:42,670 --> 00:02:45,253
‫a iniciar sesión a través de la consola es esto.

51
00:02:46,350 --> 00:02:49,870
‫Y así, en un middleware de guardado, la palabra

52
00:02:49,870 --> 00:02:53,100
‫clave disk aquí apuntará al documento procesado actualmente.

53
00:02:53,100 --> 00:02:56,640
‫Y esa es la razón por la que se llama middleware de documentos.

54
00:02:56,640 --> 00:02:58,740
‫Nuevamente, porque en esta función

55
00:02:58,740 --> 00:03:02,470
‫aquí, tenemos acceso al documento que se está procesando.

56
00:03:02,470 --> 00:03:05,133
‫Entonces, en este caso, el documento que se está guardando.

57
00:03:06,078 --> 00:03:09,240
‫Permítanme mostrarles eso muy rápidamente usando esta

58
00:03:09,240 --> 00:03:11,300
‫consola. Iniciar sesión.

59
00:03:11,300 --> 00:03:13,610
‫Entonces, para activar ahora esta

60
00:03:13,610 --> 00:03:17,800
‫función, recuerde que debemos ejecutar un comando de guardar o crear.

61
00:03:17,800 --> 00:03:22,020
‫Y ahora necesitamos crear un nuevo recorrido usando

62
00:03:22,020 --> 00:03:26,013
‫nuestra API para, sí, activar este middleware.

63
00:03:27,680 --> 00:03:32,680
‫Así que vayamos aquí al cartero, y comenzaré por guardar estas dos

64
00:03:33,880 --> 00:03:36,830
‫nuevas rutas que creamos en las

65
00:03:38,450 --> 00:03:42,313
‫conferencias anteriores, así que obtenga un plan mensual.

66
00:03:47,300 --> 00:03:52,300
‫Y este de aquí es obtener estadísticas de la gira.

67
00:03:56,031 --> 00:03:59,523
‫Así que ahora puedo cerrarlos y crear una nueva gira.

68
00:04:00,430 --> 00:04:03,060
‫Y especificamos los datos aquí en el cuerpo.

69
00:04:03,060 --> 00:04:06,300
‫Ahora bien, no todas las cosas aquí son realmente necesarias, así

70
00:04:06,300 --> 00:04:08,730
‫que echemos un vistazo a lo que realmente

71
00:04:08,730 --> 00:04:11,040
‫se requiere y eliminemos el resto.

72
00:04:11,040 --> 00:04:13,483
‫Así que se requiere imageCover,

73
00:04:14,610 --> 00:04:18,500
‫el resumen, por supuesto el precio, y sí.

74
00:04:18,500 --> 00:04:20,830
‫Así que vamos a deshacernos de las cosas

75
00:04:21,760 --> 00:04:24,483
‫que realmente no necesitamos aquí solo para mantenerlas al mínimo.

76
00:04:26,000 --> 00:04:28,730
‫Entonces, las calificaciones, la cantidad, el promedio, por lo que

77
00:04:28,730 --> 00:04:30,080
‫estos no son necesarios.

78
00:04:36,550 --> 00:04:38,490
‫Así que voy a llamar

79
00:04:38,490 --> 00:04:43,490
‫a este aquí el recorrido de prueba, solo para que sea realmente simple aquí.

80
00:04:45,702 --> 00:04:49,370
‫Ahora enviemos esta solicitud y, de hecho, creó el

81
00:04:49,370 --> 00:04:52,420
‫nuevo documento y ahora echemos un

82
00:04:52,420 --> 00:04:56,370
‫vistazo a nuestra consola y veamos ese documento aquí.

83
00:04:56,370 --> 00:04:58,650
‫Y de hecho, aquí está.

84
00:04:58,650 --> 00:05:01,540
‫Así que aumentemos esto aquí un

85
00:05:01,540 --> 00:05:04,900
‫poco y así es como se ve nuestro documento

86
00:05:04,900 --> 00:05:08,510
‫justo antes de guardarlo en la base de datos.

87
00:05:08,510 --> 00:05:11,710
‫Y aquí tenemos ratingsAverage y cantidad, que se

88
00:05:11,710 --> 00:05:13,500
‫establecen de forma predeterminada.

89
00:05:13,500 --> 00:05:17,077
‫Recuerde, entonces 4. 5 y cero, y

90
00:05:19,185 --> 00:05:21,930
‫luego la marca de tiempo createdAt, e incluso

91
00:05:21,930 --> 00:05:24,523
‫puede ver la propiedad virtual que definimos aquí.

92
00:05:25,700 --> 00:05:28,100
‫De nuevo, esto es justo antes de que realmente guardemos

93
00:05:28,100 --> 00:05:30,140
‫estos datos en la base de datos.

94
00:05:30,140 --> 00:05:31,410
‫Entonces, en este momento, todavía

95
00:05:31,410 --> 00:05:34,600
‫podemos actuar sobre los datos antes de que se guarden en la

96
00:05:34,600 --> 00:05:36,920
‫base de datos y eso es exactamente lo

97
00:05:36,920 --> 00:05:38,173
‫que haremos ahora.

98
00:05:39,520 --> 00:05:43,240
‫Así que aquí abajo en nuestra función de middleware.

99
00:05:43,240 --> 00:05:45,900
‫Y lo que quiero hacer aquí es crear un

100
00:05:45,900 --> 00:05:48,120
‫slug para cada uno de estos documentos.

101
00:05:48,120 --> 00:05:50,080
‫Así que recuerda cómo en la primera

102
00:05:50,080 --> 00:05:52,510
‫sección creamos una babosa para cada uno de los

103
00:05:52,510 --> 00:05:54,313
‫productos que teníamos en la tienda.

104
00:05:55,180 --> 00:05:57,860
‫Entonces, un slug es básicamente una cadena

105
00:05:57,860 --> 00:06:01,590
‫que podemos poner en la URL, generalmente basada en alguna

106
00:06:01,590 --> 00:06:03,570
‫cadena como el nombre.

107
00:06:03,570 --> 00:06:05,780
‫Entonces, en este caso, crearemos una babosa basada aquí

108
00:06:05,780 --> 00:06:07,433
‫en el nombre de la gira.

109
00:06:09,150 --> 00:06:14,150
‫Así que recuerda cómo usamos el paquete slugify.

110
00:06:14,210 --> 00:06:16,360
‫Y ahora vamos a instalarlo.

111
00:06:20,120 --> 00:06:22,063
‫Muy bien, y mientras eso está

112
00:06:23,430 --> 00:06:25,743
‫funcionando, sigamos adelante y luego lo exijamos aquí.

113
00:06:33,270 --> 00:06:34,980
‫Así que requiere slugify.

114
00:06:39,100 --> 00:06:41,893
‫Regresemos a nuestra primera ventana aquí, en realidad.

115
00:06:43,530 --> 00:06:46,220
‫Y ahora, aquí abajo, ya no queremos

116
00:06:46,220 --> 00:06:48,550
‫registrar esto en la consola.

117
00:06:48,550 --> 00:06:51,720
‫Pero, en cambio, ahora podemos decir esto, y

118
00:06:51,720 --> 00:06:54,840
‫recuerde, este es el documento procesado actualmente.

119
00:06:54,840 --> 00:06:58,060
‫Entonces ahora podemos definir una nueva propiedad en él.

120
00:06:58,060 --> 00:06:59,860
‫Y eso es exactamente lo que estoy haciendo.

121
00:06:59,860 --> 00:07:03,250
‫Así que esto. slug debería ser slugify,

122
00:07:06,210 --> 00:07:08,390
‫y luego solo una cadena de la

123
00:07:08,390 --> 00:07:13,390
‫que queremos crear un slug, y así será. name y luego también queremos pasar

124
00:07:13,470 --> 00:07:15,890
‫la opción de que

125
00:07:15,890 --> 00:07:18,653
‫todo debe convertirse a minúsculas, por

126
00:07:19,970 --> 00:07:24,220
‫lo que es más bajo: verdadero, y ahora lo guardaré.

127
00:07:24,220 --> 00:07:26,290
‫Y una cosa de la

128
00:07:26,290 --> 00:07:28,710
‫que aún no hablamos es la próxima función.

129
00:07:28,710 --> 00:07:32,440
‫Así que, al igual que en Express, también tenemos la siguiente función

130
00:07:32,440 --> 00:07:35,300
‫en el middleware mMngoose, básicamente para llamar al siguiente

131
00:07:35,300 --> 00:07:37,780
‫middleware de la pila como ya sabemos.

132
00:07:37,780 --> 00:07:40,680
‫Ahora, en este caso, solo tenemos una función de

133
00:07:40,680 --> 00:07:43,100
‫middleware, por lo que no tuvimos

134
00:07:43,100 --> 00:07:46,433
‫ningún problema, ni siquiera llamamos a continuación, pero hagámoslo ahora.

135
00:07:47,470 --> 00:07:50,040
‫Y así, cada función de middleware, en un

136
00:07:50,040 --> 00:07:52,723
‫middleware previo al guardado, tiene acceso a la siguiente.

137
00:07:54,492 --> 00:07:57,700
‫Eso es exactamente lo mismo que en Express, y

138
00:07:57,700 --> 00:08:01,070
‫al final del middleware que llamamos a continuación, y que

139
00:08:01,070 --> 00:08:03,300
‫luego llamará al siguiente middleware en

140
00:08:03,300 --> 00:08:04,583
‫la pila.

141
00:08:04,583 --> 00:08:07,540
‫Intentemos esto de nuevo.

142
00:08:07,540 --> 00:08:10,556
‫Y esto se llamará gira de prueba número dos.

143
00:08:10,556 --> 00:08:13,770
‫Muy simple, envía al

144
00:08:13,770 --> 00:08:16,900
‫cielo y esperemos.

145
00:08:16,900 --> 00:08:20,930
‫Y ahora, por alguna razón, no está realmente aquí.

146
00:08:20,930 --> 00:08:22,950
‫Veamos si obtuvimos algún error

147
00:08:22,950 --> 00:08:24,630
‫y en realidad no.

148
00:08:24,630 --> 00:08:27,570
‫Pero la razón por la que no funciona

149
00:08:27,570 --> 00:08:31,913
‫es que en este momento no tenemos ningún slug en nuestro esquema.

150
00:08:31,913 --> 00:08:35,360
‫Y recuerde que esto realmente nos sucedió antes cuando solo

151
00:08:35,360 --> 00:08:38,150
‫teníamos un par de campos en el esquema.

152
00:08:38,150 --> 00:08:40,150
‫Y cuando definamos algunos campos

153
00:08:40,150 --> 00:08:42,450
‫que no estaban en el esquema, simplemente

154
00:08:42,450 --> 00:08:44,770
‫no se conservaron en la base de datos.

155
00:08:44,770 --> 00:08:47,070
‫Y lo mismo está sucediendo ahora aquí,

156
00:08:47,070 --> 00:08:50,670
‫así que definimos la propiedad slug, pero no está en nuestro esquema.

157
00:08:50,670 --> 00:08:54,200
‫Y, por lo tanto, no se guardó en la base de

158
00:08:54,200 --> 00:08:56,990
‫datos, así que arreglemos eso rápidamente y pongámoslo, oh,

159
00:08:56,990 --> 00:08:59,490
‫no sé, realmente no importa, puede ponerlo

160
00:08:59,490 --> 00:09:01,373
‫aquí justo después del nombre,

161
00:09:03,210 --> 00:09:06,253
‫por lo que la babosa debería simplemente sea una cuerda.

162
00:09:08,443 --> 00:09:10,363
‫Y eso debería arreglarlo.

163
00:09:11,610 --> 00:09:14,823
‫Así que regresemos y creemos el recorrido de prueba número tres.

164
00:09:15,880 --> 00:09:18,220
‫Porque no puede ser igual, porque recuerda que no

165
00:09:18,220 --> 00:09:20,453
‫podemos tener tours con el mismo nombre.

166
00:09:22,260 --> 00:09:26,290
‫Así que hazlo de nuevo, y ahora tenemos la propiedad slug

167
00:09:26,290 --> 00:09:29,900
‫aquí y de hecho se basa en el nombre, como

168
00:09:29,900 --> 00:09:31,170
‫puedes ver aquí.

169
00:09:31,170 --> 00:09:33,853
‫Genial, volvamos aquí, vamos a reducir

170
00:09:34,770 --> 00:09:36,463
‫esto un poco.

171
00:09:37,480 --> 00:09:40,957
‫Y aquí tenemos el middleware previo al documento.

172
00:09:40,957 --> 00:09:44,000
‫Experimentemos ahora muy rápidamente, también, con

173
00:09:44,000 --> 00:09:45,593
‫un post middleware.

174
00:09:47,700 --> 00:09:52,700
‫Entonces tourSchema. publicar y usemos guardar de nuevo.

175
00:09:55,487 --> 00:09:58,740
‫Y luego la función de devolución de llamada, que en el

176
00:09:58,740 --> 00:10:01,090
‫caso del middleware posterior tiene acceso

177
00:10:01,090 --> 00:10:03,860
‫no solo al siguiente, sino también al documento que

178
00:10:03,860 --> 00:10:06,823
‫se acaba de guardar en la base de datos.

179
00:10:07,690 --> 00:10:10,883
‫Así que llamémoslo un documento y luego siguiente.

180
00:10:12,193 --> 00:10:14,650
‫Y así, las funciones posteriores al middleware

181
00:10:14,650 --> 00:10:17,750
‫se ejecutan después de que se hayan completado todas las

182
00:10:17,750 --> 00:10:20,090
‫funciones anteriores al middleware, de acuerdo.

183
00:10:20,090 --> 00:10:23,440
‫Así que aquí ya no tenemos la palabra clave

184
00:10:23,440 --> 00:10:25,910
‫disk, sino que tenemos el documento básicamente

185
00:10:25,910 --> 00:10:27,853
‫terminado aquí en doc.

186
00:10:30,960 --> 00:10:34,650
‫Así que registremos ese documento terminado en la

187
00:10:34,650 --> 00:10:37,640
‫consola y luego llamemos a next.

188
00:10:37,640 --> 00:10:39,713
‫Ahora, en este caso, nuevamente,

189
00:10:39,713 --> 00:10:43,200
‫solo tenemos un middleware de publicación y, por lo tanto, no

190
00:10:43,200 --> 00:10:46,860
‫necesitaríamos el siguiente, pero es una mejor práctica simplemente incluirlo siempre.

191
00:10:46,860 --> 00:10:50,310
‫Ahora, otra cosa que quería mostrarles es que

192
00:10:50,310 --> 00:10:52,470
‫podemos tener, por supuesto, múltiples

193
00:10:52,470 --> 00:10:56,283
‫middlewares pre o también post middlewares para el mismo gancho.

194
00:10:57,270 --> 00:11:01,820
‫Y gancho es lo que llamamos a esto guardar aquí.

195
00:11:01,820 --> 00:11:04,690
‫Entonces, este middleware aquí es básicamente

196
00:11:04,690 --> 00:11:07,810
‫lo que llamamos un gancho previo al guardado.

197
00:11:07,810 --> 00:11:11,490
‫Entonces verá esa terminología todo el tiempo.

198
00:11:11,490 --> 00:11:14,173
‫Algunos lo llaman middleware y otros lo llaman ganchos.

199
00:11:15,270 --> 00:11:17,260
‫Y entonces esto va a ser un gancho previo al

200
00:11:17,260 --> 00:11:18,773
‫guardado o un middleware previo al guardado.

201
00:11:21,880 --> 00:11:25,823
‫Así que funciona, y este tiene acceso al siguiente.

202
00:11:28,770 --> 00:11:31,433
‫Así que registremos algo

203
00:11:33,780 --> 00:11:37,963
‫en la consola aquí, como guardará el documento.

204
00:11:40,740 --> 00:11:45,023
‫Y luego, el siguiente, y por supuesto, debería ser el siguiente.

205
00:11:46,880 --> 00:11:48,750
‫Solo para ver si obtenemos

206
00:11:48,750 --> 00:11:50,653
‫algún error, omitiré el siguiente aquí.

207
00:11:51,490 --> 00:11:55,283
‫Solo para ver qué pasa cuando no lo llamamos.

208
00:11:57,290 --> 00:11:59,080
‫Así que voy a crear

209
00:11:59,080 --> 00:12:01,230
‫una nueva gira y, al final de

210
00:12:01,230 --> 00:12:04,543
‫esta conferencia, las eliminaré todas, pero por ahora las necesitamos aquí.

211
00:12:06,410 --> 00:12:09,930
‫Y ahora ves que realmente no está terminando, así que estamos

212
00:12:09,930 --> 00:12:12,620
‫atrapados en esa función de middleware que no

213
00:12:12,620 --> 00:12:14,473
‫tiene la siguiente llamada.

214
00:12:16,410 --> 00:12:18,343
‫Así que básicamente estamos atrapados aquí.

215
00:12:19,550 --> 00:12:20,970
‫Así que cancelemos la

216
00:12:22,810 --> 00:12:25,780
‫solicitud y luego volvamos aquí, e intentemos

217
00:12:25,780 --> 00:12:27,173
‫de nuevo.

218
00:12:29,550 --> 00:12:32,070
‫Y ahora funcionó de verdad.

219
00:12:32,070 --> 00:12:35,740
‫Entonces, nuestro slug está aquí, correcto, y echemos un vistazo

220
00:12:35,740 --> 00:12:38,590
‫a nuestra consola, y de hecho, nuestro

221
00:12:38,590 --> 00:12:41,973
‫segundo middleware previo también se ejecuta, por lo que

222
00:12:42,850 --> 00:12:45,797
‫el único registro guardará el documento y luego

223
00:12:45,797 --> 00:12:49,320
‫nuestro post middleware y luego registrará en la consola

224
00:12:49,320 --> 00:12:51,570
‫el documento final, y eso

225
00:12:51,570 --> 00:12:55,043
‫también debería tener la babosa y sí, aquí está.

226
00:12:56,050 --> 00:12:57,870
‫Y eso es todo lo

227
00:12:57,870 --> 00:13:00,360
‫que tenía que mostrarte sobre el middleware de documentos.

228
00:13:00,360 --> 00:13:03,065
‫Ahora solo voy a comentar estos dos

229
00:13:03,065 --> 00:13:06,680
‫aquí porque no quiero contaminar mi registro aquí todo el tiempo

230
00:13:06,680 --> 00:13:09,110
‫con esta consola. registros, pero todavía

231
00:13:09,110 --> 00:13:11,190
‫los guardo aquí, nuevamente, como

232
00:13:11,190 --> 00:13:12,173
‫referencia.

233
00:13:13,530 --> 00:13:16,330
‫Entonces, lo que quiero que recuerden de esta

234
00:13:16,330 --> 00:13:18,980
‫conferencia es que podemos tener middleware ejecutándose antes

235
00:13:18,980 --> 00:13:20,930
‫y después de cierto evento.

236
00:13:20,930 --> 00:13:23,160
‫Y en el caso del middleware de

237
00:13:23,160 --> 00:13:25,850
‫documentos, ese evento suele ser el evento de guardado.

238
00:13:25,850 --> 00:13:29,260
‫Y luego, en la función de middleware en sí,

239
00:13:29,260 --> 00:13:31,660
‫tenemos acceso a la palabra clave

240
00:13:31,660 --> 00:13:35,163
‫disk, que apuntará al documento que se está guardando actualmente.

241
00:13:36,190 --> 00:13:38,232
‫Y también es muy importante tener

242
00:13:38,232 --> 00:13:42,650
‫en cuenta que este middleware de guardado solo se ejecuta para los métodos

243
00:13:42,650 --> 00:13:44,650
‫de guardar y crear Mongoose.

244
00:13:44,650 --> 00:13:47,690
‫No se ejecutará, por ejemplo, para insertar muchos

245
00:13:47,690 --> 00:13:50,490
‫y tampoco para buscar uno y actualizar

246
00:13:50,490 --> 00:13:54,380
‫o buscar por ID y actualización, que ya usamos antes.

247
00:13:54,380 --> 00:13:58,110
‫Entonces, por ejemplo, en algún lugar

248
00:14:00,870 --> 00:14:04,960
‫aquí tenemos findByIdAndUpdate, pero eso no activará este

249
00:14:04,960 --> 00:14:06,862
‫middleware de guardado.

250
00:14:06,862 --> 00:14:09,610
‫Así que es muy importante tenerlo en cuenta

251
00:14:09,610 --> 00:14:11,550
‫porque en realidad un poco

252
00:14:11,550 --> 00:14:14,950
‫más adelante en este proyecto, tendremos que solucionar esa limitación.

253
00:14:14,950 --> 00:14:17,160
‫Muy bien, este es un software

254
00:14:17,160 --> 00:14:20,880
‫intermedio de documentos para manipular documentos que se están guardando actualmente.

255
00:14:20,880 --> 00:14:23,833
‫A continuación, hablaremos sobre el middleware de consultas.

