1 00:00:01,070 --> 00:00:13,330 Bueno, en este vídeo vamos a ver cómo hacer la conexión con la base de datos de MongoDB desde nuestro desarrollo, desde nuestro backend. 2 00:00:14,710 --> 00:00:23,989 Como no puede ser de otra forma, tenemos que tener activadas por lo menos el Mongo, ¿vale? 3 00:00:23,989 --> 00:00:36,929 Entonces, si me vengo a el iconito, el botoncillo de Docker, que le hemos, que lo instalamos la extensión, veo que el Mongo lo tengo levantado, ¿vale? 4 00:00:36,929 --> 00:00:40,009 El servicio de Mongo lo tengo levantado, así que podría empezar a trabajar. 5 00:00:40,549 --> 00:00:46,270 De todas formas, bueno, pues ya que tenemos también el Express, por si nos hace falta, también lo voy a levantar, ¿vale? 6 00:00:46,289 --> 00:00:48,990 Ya los tenemos los dos, ya nos podemos poner a trabajar. 7 00:00:48,990 --> 00:01:00,670 Bueno, ¿qué módulo usa Node para hacer esa conexión, entre otras cosas, a nuestra base de datos de Mongo? 8 00:01:00,950 --> 00:01:03,390 Usa un módulo que se llama Mongoose. 9 00:01:04,030 --> 00:01:11,689 ¿Vale? Entonces, Mongoose, además de utilizarse para la conexión con la base de datos, 10 00:01:11,689 --> 00:01:33,290 Lo que hace es, por ejemplo, hacer esa plantilla que os he comentado en algún vídeo, para siempre los documentos que estamos guardando en nuestras colecciones de datos, hacerlos siempre con los mismos clave-valor. 11 00:01:33,290 --> 00:01:41,290 No hacer documentos de diferentes tamaños, lo cual sería, para lo que nosotros estamos buscando, algo un poco extraño. 12 00:01:41,689 --> 00:01:52,829 Vale, entonces vamos a hacer primero esa conexión, vamos a ver lo que es o cómo se trabaja con Mongoose 13 00:01:52,829 --> 00:02:03,909 y vamos a ver lo que son las funciones flecha o funciones anónimas que creo que ya las habéis visto pero no lo tengo claro. 14 00:02:03,909 --> 00:02:09,050 Vale, entonces os hago una pequeña explicación y ya está. 15 00:02:09,050 --> 00:02:23,750 Bueno, entonces lo primero que vamos a hacer es venirnos a nuestro fichero de BJS, que le hemos creado justo para implementar las operaciones que vamos a hacer sobre la base de datos. 16 00:02:23,750 --> 00:02:36,710 La primera operación que vamos a hacer es hacer la conexión. Para ello lo primero que tengo que hacer es cargar el módulo de Mongoose. 17 00:02:39,050 --> 00:02:56,169 de Mongoose con Node? Pues como siempre, desde el terminal, el npm y mongoose. Vale, esto 18 00:02:56,169 --> 00:03:05,449 le damos a intro y nos va a hacer la instalación, va a cargar el módulo de Mongoose. Vale, 19 00:03:05,449 --> 00:03:12,710 vale ya lo tendríamos cargado hasta que no hagamos algo con él pues esto no hace nada vale pero ya 20 00:03:12,710 --> 00:03:19,689 lo tenemos cargado entonces qué es lo primero que voy a hacer importar desde o sea en el fichero de 21 00:03:19,689 --> 00:03:32,810 b.js vale importó mongoose from mongoose vale vale entonces a partir de aquí yo empiezo a hacer la 22 00:03:32,810 --> 00:03:41,310 conexión la conexión es algo tan simple como poner mongoose.connet 23 00:03:41,310 --> 00:03:45,810 y le voy a pasar como string 24 00:03:46,569 --> 00:03:55,930 la dirección vale en este caso sería mongo db dos puntos dos barras localhost 25 00:03:55,930 --> 00:04:06,550 porque lo tenemos metido perdón lo tenemos configurado en nuestra máquina como como 26 00:04:07,889 --> 00:04:14,110 el local vale el mongo recordarlo pondría el local host pondría 27 00:04:17,410 --> 00:04:25,370 el nombre de la base de datos que voy a crear y cuidado si nos metemos vamos a poner por ejemplo 28 00:04:25,930 --> 00:04:28,829 vamos a crear una base de datos que se va a llamar 29 00:04:28,829 --> 00:04:30,769 dan2db 30 00:04:30,769 --> 00:04:32,889 dan2db 31 00:04:32,889 --> 00:04:34,370 vale, si 32 00:04:34,370 --> 00:04:36,689 yo hago esta conexión 33 00:04:36,689 --> 00:04:38,569 esta base de datos 34 00:04:38,569 --> 00:04:39,670 ahora mismo no existe 35 00:04:39,670 --> 00:04:42,370 nosotros tenemos, voy a abrir 36 00:04:42,370 --> 00:04:46,439 el localhost 37 00:04:46,439 --> 00:04:49,660 vamos a ver 38 00:04:49,660 --> 00:04:52,800 esto estáis viendo 39 00:04:52,800 --> 00:04:54,500 el navegador 40 00:04:54,500 --> 00:04:58,300 no, si 41 00:04:58,300 --> 00:05:15,399 Vale, vamos a abrir el MongoDB Express, ¿vale? Como siempre nos pide el nombre de usuario que le pusimos root y el password que le pusimos root, ¿vale? 42 00:05:15,399 --> 00:05:25,319 Entonces vemos que no tenemos ninguna base de datos que se llame DAM2DB, ¿vale? 43 00:05:25,740 --> 00:05:36,259 En Mongo no se crea esa base de datos hasta que no se mete el primer documento en la colección, ¿vale? 44 00:05:36,279 --> 00:05:37,279 En la base de datos. 45 00:05:37,279 --> 00:05:58,480 Entonces, aunque nosotros metamos aquí un nombre que no existe, no importa porque luego lo va a crear. Vale, entonces volvemos a Visual Studio Code y aquí lo vamos a dejar así. 46 00:05:58,480 --> 00:06:23,319 Vale, esto nos haría la conexión con la base de datos, vale, bueno, si estuviéramos usando MongoDB Atlas o un servidor de MongoDB en otro equipo o cosas así, en vez de poner aquí localhost pondríamos el dominio, la IP, vale, 47 00:06:23,319 --> 00:06:45,279 Y si metiéramos un usuario y una password, porque ahora mismo yo estoy creando una base de datos en Mongo, pero no le estoy metiendo un usuario y una password de acceso, ¿vale? Estoy accediendo yo desde el backend y eso, bueno, pues tampoco está bien del todo, ¿vale? Yo ahora lo voy a dejar así por comodidad. 48 00:06:45,279 --> 00:07:01,000 Si sí que creara esa base de datos con un usuario y un password, pondríamos ahí el MongoDB, dos puntos, slash, slash, pondría user, el usuario y la password, ¿vale? 49 00:07:01,000 --> 00:07:10,639 Y aquí le pasaría arroba y luego ya el localhost, el slash, ¿vale? 50 00:07:10,920 --> 00:07:19,120 Entonces, bueno, voy a dejar esto comentado y así lo tenemos aquí para no olvidarnos de que se hace así, ¿vale? 51 00:07:19,120 --> 00:07:48,899 Por ahora nosotros vamos a usar el mongoose.connect y vamos a meter el mongo.tb, dos puntos, slash, slash, localhost y ya hemos dicho dan2db, ¿vale? 52 00:07:49,120 --> 00:08:00,800 bueno pues esto es mongoose.com 53 00:08:00,800 --> 00:08:15,459 la herramienta connect vale para conectaros a la base de datos luego veremos en otro 54 00:08:15,459 --> 00:08:19,120 vídeo que existe en mongoose.es 55 00:08:22,420 --> 00:08:28,980 este vale que es para crear esos esquemas eso esas plantillas para los 56 00:08:28,980 --> 00:08:36,220 datos vale para meter siempre las mismas documentos el mismo número de clave 57 00:08:36,220 --> 00:08:40,940 valor en los documentos y con una serie de restricciones vale y vamos a trabajar 58 00:08:40,940 --> 00:08:47,899 con el connect y con el exchange vale entonces por ahora voy con el connect vale entonces nosotros 59 00:08:47,899 --> 00:08:58,639 aquí si yo ejecutara este o llamara este js bueno pues se haría la conexión a la base de datos vale 60 00:08:58,639 --> 00:09:06,500 pero nosotros no estamos llamando a diferentes ficheros estamos llamando a app de app y vamos 61 00:09:06,500 --> 00:09:14,600 llamando a index vale y configurando y diciendo que es lo que queríamos que usarán los diferentes 62 00:09:14,600 --> 00:09:26,480 módulos vale entonces yo lo que quiero es desde index importar una variable que me arranque esa 63 00:09:26,480 --> 00:09:37,769 conexión a la base de datos vale entonces para hacer eso lo que voy a hacer es crearme una una 64 00:09:37,769 --> 00:09:46,000 constante una variable perdón que lo voy a llamar el connect debe que esto se suele llamar siempre 65 00:09:46,000 --> 00:09:54,320 así vale entonces yo ahora tengo una variable que jota es en javascript siempre lo vais a poner con 66 00:09:54,320 --> 00:10:03,960 el cons tengo una variable que se llama con el db y que le digo que en esta esta variable la voy a 67 00:10:03,960 --> 00:10:12,360 usar para ejecutar el mongoose.connet y hacer la conexión con la base de datos. Si yo esto lo quiero 68 00:10:12,360 --> 00:10:22,019 exportar e importarlo en index.js, entonces teníamos que poner aquí el export. Vale, os tenéis que 69 00:10:22,019 --> 00:10:30,000 acordar de eso. Cada vez que exportamos, queremos exportar una variable para utilizarla en nuestro 70 00:10:30,000 --> 00:10:42,429 desarrollo siempre con el export vale recordar que metíamos el default vale metíamos el default 71 00:10:46,370 --> 00:10:52,210 vale en este caso no lo voy a meter 72 00:10:55,190 --> 00:11:05,149 como hacíamos por ejemplo donde era en app no si aquí veis teníamos el sport de faul app 73 00:11:05,309 --> 00:11:32,429 Vale, app lo creamos aquí, constante app es igual a express, bueno, aquí lo ponía de esta manera, vale, si en db no meto el default, que no es obligatorio, aunque todos los desarrolladores web lo van a poner, vale, eso me obliga a que si yo lo quiero importar en index.js, 74 00:11:32,429 --> 00:11:43,179 aquí quiero importar el connect db vale esa variable lo tengo que meter entre llaves 75 00:11:43,179 --> 00:11:51,960 connect aquí lo tengo vale y ya os dice ya os marca directamente en el fichero en el que está 76 00:11:51,960 --> 00:12:01,580 esta variable pero os tenéis que acordar que si no meto el default en db entonces hay que 77 00:12:01,580 --> 00:12:04,559 meter esas llaves, vale 78 00:12:04,559 --> 00:12:07,759 vale, esto me lo ha puesto 79 00:12:07,759 --> 00:12:09,740 porque antes lo he escrito mal 80 00:12:09,740 --> 00:12:11,600 vale, ya está 81 00:12:11,600 --> 00:12:13,659 vale 82 00:12:13,659 --> 00:12:15,559 y tenemos entonces una variable 83 00:12:15,559 --> 00:12:16,559 una conexión 84 00:12:16,559 --> 00:12:19,159 bien 85 00:12:19,159 --> 00:12:21,440 vale, ahora lo que quiero utilizar 86 00:12:21,440 --> 00:12:23,620 son funciones flecha, vale 87 00:12:23,620 --> 00:12:26,059 y quiero utilizar funciones flecha 88 00:12:26,059 --> 00:12:29,580 porque en este tipo de 89 00:12:29,580 --> 00:12:36,360 desarrollos es lo que más se utiliza porque además podemos controlar 90 00:12:36,360 --> 00:12:41,279 por ejemplo como vamos a hacer aquí un try and catch por si hubiera algún tipo 91 00:12:41,279 --> 00:12:46,620 de problema porque un problema que vosotros tenéis que 92 00:12:46,620 --> 00:12:52,379 tener siempre en la cabeza y que a veces nos encontramos con ellos en las 93 00:12:52,379 --> 00:12:59,419 defensas de los tfg es que hacéis una hacéis operaciones 94 00:12:59,419 --> 00:13:09,740 que requieren que el desarrollo se pare hasta que se obtenga un resultado de esa operación, ¿vale? 95 00:13:09,740 --> 00:13:26,639 Y eso no es correcto. Siempre operaciones que tenemos que esperar a obtener un resultado, pues hay que hacerlas de forma síncrona o con procesos o con hilos o con lo que sea, 96 00:13:26,639 --> 00:13:37,679 pero nunca separa un desarrollo, el funcionamiento de una aplicación porque es que hay que hacer una determinada operación, ¿vale? 97 00:13:37,960 --> 00:13:44,419 Entonces, cuando se estudian los procesos y vosotros que tenéis un módulo, este curso que lo estudiáis, veréis el porqué. 98 00:13:44,419 --> 00:14:05,240 Entonces, en JS, en Javascript, ese tipo de funciones que se ejecutan en segundo plano se usan, se crean con dos parámetros, que uno es el await y otro es el async y tienen que ir los dos juntos, ¿vale? 99 00:14:05,240 --> 00:14:26,279 Entonces, para usar esos dos parámetros necesito esas funciones flecha. Las funciones flecha o funciones anónimas también son muy cómodas cuando quieres pasar como parámetro de entrada a funciones, otras funciones, ¿vale? Entonces, ahí las funciones flecha ahora mismo se suelen utilizar bastante. 100 00:14:26,279 --> 00:14:43,600 Voy a venir aquí abajo, ¿vale? Luego esto lo voy a borrar, pero para que entendáis un poco cómo es, yo tengo una función clásica, vamos a hacer funciones aritméticas, ¿vale? 101 00:14:43,600 --> 00:15:03,789 Esto sería una función clásica, función sumar, esto aquí con sus llaves y le digo el return a más b, ¿vale? a más b, ¿vale? 102 00:15:03,789 --> 00:15:20,789 Esta es una función clásica de toda la vida, una función que tiene un nombre, tiene unos parámetros de entrada y para devolver un resultado le hemos pasado el return, ¿vale? Puede tener más operaciones como siempre, bueno, ya las conocéis y no tiene ningún misterio. 103 00:15:20,789 --> 00:15:34,129 Ahora bien, una función flecha lo que hace es asignar esta función a una variable. 104 00:15:34,129 --> 00:15:52,129 Vale, entonces el paso fue crear esa variable, le poníamos un nombre, pues por ejemplo le podíamos poner, no sé, ya que estamos con las operaciones aritméticas, 105 00:15:52,129 --> 00:16:22,019 pues le ponemos resta, constante resta, es igual a función, le pasábamos los dos parámetros, le pasaba esto, return, y le decía x menos, vale, entonces de este tipo de funciones clásicas de esta estructura pasamos a esta, vale, 106 00:16:22,019 --> 00:16:43,600 Y ya podíamos asociar una función a una variable, en este caso resta, yo podía llamar a resta y podía utilizarla de esta manera, ¿vale? Esto empezó a evolucionar más, entonces le decía, bueno, yo lo que quiero es hacer una función flecha, vamos, quiero hacer una función flecha. 107 00:16:43,600 --> 00:17:02,279 Yo lo que quiero es, está claro que si yo declaro una variable, este por ejemplo, este nombre de función aquí, si tiene un igual, tiene unos paréntesis, unos valores que están entrando, tiene un resultado, se puede simplificar un poco más, ¿vale? 108 00:17:02,279 --> 00:17:19,250 Entonces aquí metíamos cons, ahora vamos a hacer por ejemplo la multiplicación, esto es igual a, bueno pues ya sé que es una función, entonces eso pues no me hacía falta, entonces pongo x e y, ¿vale? 109 00:17:19,250 --> 00:17:50,279 Y, eh, podíamos decir, en vez de usar, bueno, pasábamos esta sintaxis, decía esto va a ser igual a, eh, x por pi, ¿vale? 110 00:17:50,279 --> 00:18:15,039 Vale, y esto era una función flecha que tenía una variable que le pasamos unos parámetros, le ponemos el simbolito de la flecha, por eso es el nombre de la función flecha, y hacíamos las diferentes operaciones metiendo este return, que es el que me devuelve ese valor. 111 00:18:15,039 --> 00:18:47,509 Entonces, esto todavía se podía ir simplificando mucho más, porque tú podías poner, por ejemplo, constante, pues ahora vamos con el cuadrado, que esto es igual a x flecha, y vamos a ponerlo todo, ahora lo simplifico, retun x por x. 112 00:18:47,509 --> 00:18:57,289 vale entonces yo tenía esta esta función que ahora mismo es exactamente igual que la de arriba vale 113 00:18:57,289 --> 00:19:04,609 pero dices bueno en este caso sólo le pasó un parámetro así que estos paréntesis me los puedo 114 00:19:04,609 --> 00:19:15,109 cargar así que me los quito vale luego solo estoy haciendo una operación entonces con las llaves 115 00:19:15,109 --> 00:19:22,609 también me permite quitarlas y además esta operación es además de ser la única que estoy 116 00:19:22,609 --> 00:19:29,609 haciendo es la que devuelve un valor entonces ese reto también lo puedo quitar valiendo es una 117 00:19:29,609 --> 00:19:38,529 operación flecha al final o anónima es esto vale entonces siguiendo un poco estos pasos voy a 118 00:19:38,529 --> 00:19:47,470 borrar esto siguiendo un poco esos pasos es lo que quiero convertir o es lo que quiero hacer sobre 119 00:19:47,470 --> 00:19:59,029 esta sobre esta línea sobre esta sentencia vale entonces tenemos el sport el cons con el db esto 120 00:19:59,029 --> 00:20:13,220 es igual aquí pasaríamos un valor vale pondríamos los parámetros de entrada en 121 00:20:13,220 --> 00:20:17,680 este caso no hay parámetros de entrada bueno pues le voy a poner paréntesis 122 00:20:17,680 --> 00:20:21,980 paréntesis y pasaríamos 123 00:20:21,980 --> 00:20:27,839 él la flecha vale 124 00:20:27,839 --> 00:20:40,559 tendríamos esto y tendría así y esta sería mi función flecha 125 00:20:40,559 --> 00:20:44,859 vale ahora os he dicho para 126 00:20:45,759 --> 00:20:50,980 hacer que una función se ejecute en segundo plano tengo que jugar con el 127 00:20:50,980 --> 00:20:57,519 la white y con el async vale entonces todas las función todas las operaciones que quiero que se 128 00:20:57,519 --> 00:21:04,559 ejecuten en segundo plano le voy a meter aquí en la vuelta vale y me lo pone como si hubiera 129 00:21:04,559 --> 00:21:11,920 un error entonces eso es porque tiene que ir siempre con el async entonces async aquí le 130 00:21:11,920 --> 00:21:18,740 metemos el async vale y esto ya no nos va a funcionar bien y qué es lo que estamos diciendo 131 00:21:18,740 --> 00:21:32,059 vale vas a importar desde index j s vas a importar esta esta variable esta variable lo que hace es 132 00:21:36,059 --> 00:21:42,059 la conexión con la base de datos de mongo db la hace de una forma en segundo plano 133 00:21:42,059 --> 00:21:48,480 asíncrona vale de tal forma que voy a poder ejecutar voy a poder seguir ejecutando mis 134 00:21:48,480 --> 00:21:58,500 otras operaciones de mi desarrollo vale bueno que más tenemos que tener en cuenta como desarrollo 135 00:21:58,500 --> 00:22:05,039 como desarrolladores estás hablando de una conexión a una base de datos cualquier operación 136 00:22:05,039 --> 00:22:15,859 sobre una base de datos es sensible y siempre se puede producir algún error vale entonces como 137 00:22:15,859 --> 00:22:23,740 buenos desarrolladores sabéis que esos errores hay que controlarlos entonces qué es lo que vamos a 138 00:22:23,740 --> 00:22:33,099 utilizar el try y el catch entonces aquí lo que vamos a hacer es meter el try este le vamos a 139 00:22:33,099 --> 00:22:52,789 meter con sus llaves y vamos a poner esto aquí con sus llaves 140 00:22:52,789 --> 00:23:02,089 vale en el cat vamos a recoger el error el posible error que se pueda dar vale 141 00:23:02,089 --> 00:23:08,750 entonces tenemos el cat tenemos 142 00:23:08,750 --> 00:23:22,380 ahora ya ves bien, sí, wait, tenemos que si se produce un error, yo lo que quiero saber es qué error se ha producido, 143 00:23:22,480 --> 00:23:30,700 entonces le vamos a meter un console.log que nos visualice por el terminal ese error, ¿vale? 144 00:23:31,900 --> 00:23:40,099 Vale, y si se produce la conexión a la base de datos, pues le vamos a decirle también, 145 00:23:40,099 --> 00:23:58,700 le voy a pasar un string al terminal diciéndole, oye, pues la conexión a la base de datos es ok, ¿vale? 146 00:23:59,059 --> 00:24:08,900 Entonces ya lo tenemos, ya tendríamos lo que sería nuestra función flecha para la conexión a MongoDB, ¿vale? 147 00:24:08,900 --> 00:24:27,559 Entonces la tenemos así, hemos comprobado el tema de los errores, bueno, en principio yo creo que ya estaría, me vengo a index, hemos importado con el db esta variable, ahora que aparece aquí como deshabilitada, hay que usarla, ¿vale? 148 00:24:27,559 --> 00:24:57,359 y qué es lo que voy a meter aquí, connet db, vale, y, cuando, donde ponemos, porque al final es importante, donde metes ese connet db, lo metemos, antes o después de arrancar el express, 149 00:24:57,359 --> 00:25:21,019 Vale, yo lo voy a poner antes, aunque en principio nos puede dar igual, yo lo pongo antes, ¿por qué? Porque lo que hemos hecho ha sido hacerlo asíncrono, así que mientras se está haciendo la conexión a la base de datos, lo que hace mi desarrollo es levantar el express, ¿vale? 150 00:25:21,019 --> 00:25:32,740 Entonces me da un poco lo mismo. Entonces vamos a coger ahora y vamos a hacer pruebas de todo esto. Por supuesto, para hacer esa conexión tiene que estar, lo que os he dicho antes, activado Mongo, ¿vale? 151 00:25:32,740 --> 00:26:02,180 Entonces, ¿qué es lo que voy a hacer ahora? Arrancar mi aplicación. Si yo la arranco, ponemos run npm run dep, ¿vale? Si yo pongo npm run dep, vale, me dice, servidor activado en el puerto 4000, o sea, el express lo ha lanzado y la conexión a la base de datos es ok, ¿vale? 152 00:26:02,180 --> 00:26:17,059 Fijaros como está el index, he metido primero el CONETDB, aunque aquí me lo está diciendo después, ¿por qué? Justo porque la hemos hecho que se ejecute en segundo plano, la hemos hecho asínclona, ¿vale? 153 00:26:17,059 --> 00:26:37,589 Si yo no hiciera eso, fijaros la diferencia, si yo cojo y en dbjs quito el await y le voy a quitar también el async, que no me haría falta pero se lo voy a quitar, ¿vale? 154 00:26:37,690 --> 00:26:50,289 vale si hacemos esto y yo cojo y lo arrancó ahora ya tenéis una diferencia no ya hasta que no he 155 00:26:50,289 --> 00:26:58,809 hecho la conexión con la base de datos no haga no ha lanzado el express vale entonces es importante 156 00:26:58,809 --> 00:27:05,210 es muy importante que esto lo diseñe jce bien vale puede ser que no queráis lanzar el servidor hasta 157 00:27:05,210 --> 00:27:09,769 que no esté la base de datos por lo que sea por seguridad por lo que sea vale 158 00:27:09,769 --> 00:27:17,190 pero lo tenéis que pensar muy bien y en el caso del tfg defenderlo vale que no 159 00:27:17,190 --> 00:27:21,710 se os olvide en este caso voy a volver a poner 160 00:27:26,900 --> 00:27:40,619 vamos a volver a poner el async async y vamos a volver a poner el agua 161 00:27:40,619 --> 00:27:51,940 vale, y tendríamos ya hecho todo, ¿qué más podríamos hacer?, ¿qué otra prueba podríamos hacer para ver que nos funciona todo bien?, vamos a parar el mongo, 162 00:27:55,700 --> 00:28:10,839 vale, ahora en teoría no tenemos la base de datos, así que no se podría generar esa conexión, producir esa conexión, y nos tendría que visualizar algún tipo de error, 163 00:28:10,839 --> 00:28:12,779 Vamos otra vez a lanzarlo 164 00:28:12,779 --> 00:28:15,240 En este caso, acordaros que 165 00:28:15,240 --> 00:28:16,200 En 166 00:28:16,200 --> 00:28:18,319 Vamos a ver 167 00:28:18,319 --> 00:28:20,640 En package.json 168 00:28:20,640 --> 00:28:22,839 Que ya tenemos también la dependencia 169 00:28:22,839 --> 00:28:23,619 De mongoose 170 00:28:23,619 --> 00:28:26,700 Eh, tenía 171 00:28:26,700 --> 00:28:28,759 Os hice otro script para ver lo de 172 00:28:28,759 --> 00:28:31,019 Watch, vale, entonces vamos a arrancar 173 00:28:31,019 --> 00:28:32,599 Ahora en vez de con dev, con dev2 174 00:28:32,599 --> 00:28:34,980 Para, no estar siempre 175 00:28:34,980 --> 00:28:36,819 Haciendo lo mismo, vale, entonces ahora pongo 176 00:28:36,819 --> 00:28:38,759 Npm run dev2 177 00:28:38,759 --> 00:29:03,619 Vale, eso lo ejecuto, como lo hemos hecho, hemos puesto el await y el async, intenta hacer la conexión a la base de datos que está cerrado, me dice que ha lanzado el express, el servidor en el puerto 4000, se queda intentando hacer esa conexión con la base de datos, está buscando, buscando, 178 00:29:03,619 --> 00:29:13,079 y en un momento dado, cuando exceda el tiempo, nos saltará ahí cualquier error, ¿vale? 179 00:29:13,079 --> 00:29:21,519 En este caso, ya lo está diciendo aquí, ¿vale? Es que nada, que nos tira para afuera, ¿vale? 180 00:29:22,519 --> 00:29:40,559 En el momento en el que volvemos a activar Mongo, pues ahí ya tenemos, ¿vale? 181 00:29:40,559 --> 00:29:45,900 La conexión a la base de datos es ok y ya tendríamos todo bien configurado. 182 00:29:45,900 --> 00:29:57,420 Si nos venimos ahora y vemos nuestra base de datos en Mongo Express, 183 00:29:58,099 --> 00:30:03,819 que esto tendremos que volver a levantar el servicio, ¿vale? Ya está. 184 00:30:07,829 --> 00:30:14,210 Vemos que aunque hemos hecho la conexión con DAM2DB, aquí no se ha creado, ¿vale? 185 00:30:14,210 --> 00:30:25,869 Es un poco lo que os decía antes, que hasta que no metemos un documento, hasta que no hacemos una colección, no se va a quedar registrada. 186 00:30:26,049 --> 00:30:27,569 Eso lo haremos en el próximo vídeo. 187 00:30:28,569 --> 00:30:29,809 Un saludo. Hasta luego.