Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Back end vs Front end - Vídeo 4 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Bueno, este vídeo lo voy a hacer como un anexo al vídeo anterior, un poco para aclarar diferentes conceptos que estamos usando, que vamos a usar a lo largo de todo el curso,
00:00:01
y que, por ejemplo, con lo que son los JSON, bueno, pues que cuando os he hablado del package JSON, que entendáis un poco más qué es esto, ¿vale?
00:00:22
qué es una colección, qué es un documento, ¿vale? Qué tipos de datos podemos guardar, porque casi siempre guardamos un string, ¿vale?
00:00:35
Pero también podemos guardar un integer, un float, un date, un pull, ¿vale? Entonces, bueno, ver un poco todo eso, hasta lo que llevamos ahora mismo hecho,
00:00:52
que no es mucho, ¿vale? Y también aclarar un poco el tema del Node, que como ya os comenté, a mí me parece una herramienta
00:01:03
pues que está bien para cuando estás empezando a trabajar con un backend y un front, porque al final estamos cargando módulos
00:01:17
que son del propio de Node, Node.js, ¿vale? del Node.js, bueno y eso es lo que estamos haciendo ahora, entonces fijaros que hemos instalado o hemos cargado y utilizado el express,
00:01:27
hemos cargado y utilizado el no demon, ¿vale? El no demon para que cuando hacemos un cambio en nuestro código, como desarrolladores,
00:01:47
se refleje sin tener que estar abriendo y cerrando en el backend, en el servidor. Hemos instalado también o hemos cargado, si vamos a la ppjs, el morgan.
00:02:09
El Morgan, ¿qué es lo que hace? Nos daba un aviso en el terminal cada vez que había una conexión desde el front al backend a través de un endpoint, que nos daba el Canon Get, nos daba el código 404, que es que no encuentra el servicio, porque claro, no hay nada, no hemos desarrollado ningún servicio.
00:02:24
¿Vale? Entonces, como nos da el código 404, eso significa, pues, que está bien. ¿Vale? Entonces, sí os quería comentar, cuando hemos utilizado, para que veáis, ¿vale?
00:02:49
cómo va evolucionando esto y cómo se va trabajando sobre el backend. Para ver esos cambios, lo diré, esos cambios que estamos haciendo sobre el código,
00:03:04
para verlo
00:03:23
que se ejecuten directamente en el servidor
00:03:25
hemos usado el no demon
00:03:31
con el no demon
00:03:33
se queda un poco antiguo
00:03:37
y sacaron otro módulo
00:03:41
que es el watch
00:03:45
el watch lo que te hace es que
00:03:47
no hay que instalar, no hay que meter el
00:03:49
npm i nodemon, ¿vale? Es un módulo
00:03:53
que ya viene en el core, en el núcleo de
00:03:57
node.js
00:04:01
y como tal, ya como ventaja, ya no
00:04:02
tengo una dependencia sobre un módulo, ya lo tengo ahí, ¿vale?
00:04:09
No tengo que hacer ningún tipo de instalación, entonces, si os fijáis aquí
00:04:13
en el package json, en la parte del script, ¿no? En esta colección, bueno, en este clave valor, he metido un dep y he metido un dep2.
00:04:17
En el dep, que es con lo que terminamos el otro día, me parece, metíamos el nodemon src index js, haciendo la instalación del nodemon, ¿vale?
00:04:32
Entonces, aquí para arrancarlo, le decíamos desde el terminal el npm run dev, ¿vale? Y entonces nos arrancaba el express en el puerto que le habíamos dicho, ¿vale? Y esto estaba bien.
00:04:45
Entonces ahora fijaros que si lo arranco con dev2, meto el watch, ¿vale? En este caso el comando, el script, ¿vale? El valor que estoy metiendo a esta clave, a dev2, es node, guión medio, guión medio, watch, src index js, ¿vale?
00:05:04
Llamo al mismo fichero, pero en vez de con no demon, con watch, ¿vale?
00:05:28
Entonces, si aquí ponemos el npm room depth 2, ¿vale?
00:05:33
Va a ser, nos va a funcionar exactamente igual.
00:05:39
No estamos usando el no demon, no estamos usando una dependencia con lo que será mucho más eficiente.
00:05:42
Es un módulo más nuevo, ¿vale?
00:05:49
Y un poco lo que quiero que veáis con esto es que nosotros vamos a usar los módulos que usemos y que probablemente en algunos casos se pueden usar otro tipo de modelos, ¿vale? Lo que es interesante de todo esto es que entendáis el funcionamiento y que cojáis esa lógica.
00:05:52
Luego, a partir de ahí, obviamente, pues ya sabéis lo que es la informática, que va a ir evolucionando en un sentido o en otro.
00:06:11
Vale, entonces, me meto con el tema de lo que es un Json, ¿vale?
00:06:18
O lo que son las bases de datos de MongoDB.
00:06:29
Vale, entonces, para ver esto, pues lo primero que vamos a pensar cuando usamos una base de datos de MongoDB es que no es una base de datos relacional, ¿vale?
00:06:32
No es una base de datos relacional, no es MySQL, no se usan tablas ni registros, ¿vale? Es una base de datos que se crea por su mayor eficiencia en la velocidad y por su escalabilidad, ¿vale?
00:06:54
¿Qué significa esto? Cuando nosotros estamos trabajando con bases de datos de SQL, nosotros trabajamos con tablas y con registros, ¿vale? Y esos registros tienen siempre los mismos campos y las tablas tienen n registros, ¿vale?
00:07:14
Nosotros cuando trabajamos con MongoDB lo que creamos son documentos, bueno, lo que sería una tabla en una base de datos SQL en MongoDB sería una colección, ¿vale?
00:07:33
Lo que sería un registro en una base de datos relacional en MongoDB es un documento, ¿vale?
00:07:59
Entonces, ¿por qué lo de la escalabilidad? Porque esos documentos se van a crear con dos valores, ¿vale? Se va a crear siempre uno que es clave y otro que es valor, ¿vale?
00:08:18
Entonces se van a ir metiendo siempre en clave, valor, clave, valor, clave, valor. ¿Por qué lo de la escalabilidad? Porque esas colecciones de documentos, dentro de esos documentos, los campos clave, valor que podemos meter no tienen por qué ser siempre los mismos.
00:08:48
O sea, no tiene por qué ser siempre como los registros de las bases de datos relacionales, ¿vale? Entonces, por ejemplo, yo puedo tener un documento que sea siempre, ¿vale? Vamos a ir abriendo ya entre llaves y esto sería, esto sí, vamos a quitarle las viñetas, sería, por ejemplo, no sé, título, ¿vale?
00:09:08
Con un valor. Dan 2. Vale, le meto asunto. Asunto. Y es Villablanca. Le metemos categoría. Vamos a meter aquí grado superior. Vale.
00:09:37
Y esto cerraría este documento, ¿vale? Esto sería un documento de todo el, de la colección, ¿vale? Ese documento, por ejemplo, si quiero meter otro en la misma colección, ¿vale?
00:10:13
Que es lo interesante. Puedo hacer otro que sea, por ejemplo, con más campos, pues que sea el título. Y le metemos tan dos. Le metemos el asunto y le vamos a meter, por ejemplo, fecha.
00:10:33
Por ejemplo, ¿vale? Y aquí va a ser de tipo date, ¿vale? Y esto lo cerraríamos ahora, ¿vale? Entonces, fijaros cómo estos dos documentos tienen diferente número de campos, ¿vale?
00:11:14
Entonces, esto nos lo permite hacer MongoDB, ¿vale? Entonces, esto es un documento de MongoDB y con lo que trabajamos en nuestro backend va a ser con documentos que es en formato BSON, ¿vale?
00:11:34
Que es, pues, JSON, la traducción es Javascript Object Notation, ¿vale? Y el M, perdón, el M, el BSON es el Binary Script Object Notation, ¿vale?
00:11:56
Bueno, luego para bases de datos relacionales sabéis que existe un lenguaje de consultas, de queries, que es el SQL, que la traducción es el Structured Query Language, ¿vale?
00:12:24
Entonces, para MongoDB existe el MQL, ¿vale? Que es el MongoDB Query Language, ¿vale?
00:12:41
Entonces, bueno, pues es otra diferencia. El MQL es muy parecido al SQL.
00:12:54
De hecho, una sentencia, por ejemplo, de insertar valores, ¿vale? Podríamos verla como dbUser, por ejemplo. Quiero insertar un documento nuevo en una colección que se llama user, ¿vale?
00:13:04
Entonces tengo db.user, db es la conexión, es la variable de la conexión que he utilizado, la variable para hacer la conexión con MongoDB, ¿vale? Le pones la colección donde quieres insertar ese documento, le dices que es lo que quieres hacer, el insert one, ¿vale?
00:13:24
y aquí empiezas a meter pues los valores que sean pues en este caso pues
00:13:47
vamos a poner lo mismo y aquí pues cerraríamos la llave vale entonces
00:13:58
aquí le hemos puesto esto esto me ha puesto que esta viñeta que no la quiero
00:14:23
y aquí me faltaría cerrar el paréntesis vale ya lo tenemos vale entonces esta sería una consulta
00:14:31
de inserción con el lenguaje mql del mongo db vale bueno entonces un poco lo que quería que
00:14:45
vierais con esto e insisto esto lo vais a ver con mucha más profundidad con miguel y es la forma con
00:14:59
la que estamos pasando datos de un de un sitio a otro de una aplicación a otra vale es interesante
00:15:06
que la entendáis bien que no nos uséis pues un jota son para luego convertirlo y a un documento
00:15:17
de Mongo e insertarlo en una colección igual que si fuera
00:15:27
una base de datos estructural, estructurada, vale
00:15:31
un MySQL, que en eso soléis caer mucho
00:15:35
en el TFG, en la defensa del proyecto
00:15:38
y eso es un error, vale, tenéis que entender bien
00:15:43
estas pinceladas que os he dado yo aquí, vale, que yo
00:15:47
las doy porque vamos a estar trabajando con ellas
00:15:51
cada vez que usamos el Json, el package Json
00:15:55
o cada vez que vayamos a enviar datos
00:15:59
desde el front al backend
00:16:02
entonces bueno, entendía que es importante
00:16:04
que lo conozcáis
00:16:09
para instalar el MongoDB
00:16:10
que es con lo que vamos a trabajar ahora
00:16:15
bueno
00:16:16
la página web es esta
00:16:18
la que os estoy enseñando ahora
00:16:23
Vale, esta página, podéis bajaros el MongoDB Atlas e instalarlo en vuestros equipos, en casa, vale, aquí el problema que tenemos en el instituto es que este link, esta URL está capada.
00:16:24
Entonces no podemos trabajar directamente sobre el MongoDB Atlas, que sería muy cómodo.
00:17:03
¿Qué es lo que vamos a hacer?
00:17:10
Instalar Docker, el Docker de escritorio, bajarnos el contenedor de MongoDB y trabajar sobre Docker.
00:17:12
Y eso lo vamos a hacer en el próximo vídeo.
00:17:25
Un saludo, hasta luego.
00:17:29
- Idioma/s:
- Autor/es:
- Mario S.
- Subido por:
- Mario S.
- Licencia:
- Dominio público
- Visualizaciones:
- 71
- Fecha:
- 6 de julio de 2024 - 22:08
- Visibilidad:
- Público
- Centro:
- IES VILLABLANCA
- Duración:
- 00′ 06″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 40.98 MBytes