En este ejercicio, vamos a seguir trabajando en
el nodo Servidor Mangosta que desarrollamos en el ejercicio anterior.
Haremos otra variación de eso.
Además, también veremos cómo Mangoose soporta los subdocumentos,
y esto nos permite almacenar un documento dentro de
un documento para almacenar información adicional.
Veamos eso en el siguiente ejercicio.
Continuando con el ejemplo en el que hemos estado trabajando, ahora,
en el archivo index.js,
ahora veremos una nueva forma de crear un plato y agregarlo a nuestra aplicación.
Así, antes habíamos hecho var NewDish y platos y definir el plato.
Ahora, en este caso vamos a utilizar un nuevo método llamado platos crear que toma,
como parámetro, el NewDish para crear y luego lo guarda en nuestra aplicación.
Por lo tanto, en lugar de hacer este NewDish guardar,
simplemente podemos eliminar eso y tratar directamente con el método de creación de platos aquí.
Por lo tanto, el método de creación de platos tomará como parámetro
un nuevo documento que debe almacenarse en nuestra base de datos,
y luego crea y agrega el documento a la base de datos.
A partir de entonces, podemos continuar con el resto del ejercicio.
Esta modificación menor mostrará
que la misma aplicación se ejecuta exactamente de la misma manera que antes.
Entonces, con este cambio,
permítanme cambiar la sangría
aquí para que el encadenamiento de los métodos entonces sea muy claro.
Por lo tanto, primero hacemos un plato crear que devolverá una promesa,
y luego cambiaremos al entonces y luego llevaremos a cabo
los pasos restantes en el plato creado.
Vamos a guardar los cambios y luego vamos a echar un vistazo a esta versión de nuestro servidor.
Ir al terminal,
una vez más, ejecutando la aplicación,
vemos que creará exactamente lo mismo que la variación anterior del servidor.
Por lo tanto, estamos creando un nuevo plato aquí y luego insertarlo en
la base de datos y luego
estamos recuperando ese plato y luego imprimiendo en la pantalla.
Con este cambio, este es un buen momento para que hagamos
un git commit con el mensaje Mangosta parte dos.
Entonces, vamos a verificar el estado de git y luego agregar el archivo al repositorio,
y luego hacer una confirmación de git con el mensaje Mongoose parte dos.
Continuando con el ejercicio,
en el siguiente paso vamos a añadir un subdocumento
al documento y ver cómo se pueden almacenar los subdocumentos en nuestra base de datos.
Entonces, yendo al archivo dishes.js,
voy a agregar otro esquema en mi archivo dishes.js llamado
como esquema de comentario y
luego definir esto como nuevo esquema.
En este esquema de comentarios,
como ya habrías esperado,
vamos a usar esto para almacenar comentarios sobre el plato.
Por lo tanto, los comentarios contendrán un campo de calificación que
es del número de tipo,
y su valor mínimo es uno, el
valor máximo es cinco y obligatorio es verdadero.
Por lo tanto, puede ver que cuando utiliza un campo con el número de tipo,
puede especificar los límites para él si decide hacerlo.
Entonces, el siguiente campo es un campo de comentario que sería de la cadena de tipo.
Por lo tanto, esto almacena un mensaje y luego requerido
es verdadero y luego también agregaremos otro campo llamado autor,
que es de la cadena de tipo y requerido es verdadero.
También agregaremos el campo de marca de tiempo para esto,
y estableceremos que en true.
Por lo tanto, para cada comentario que se agrega,
también almacenaremos la marca de tiempo correspondiente.
Por lo tanto, ahora que hemos declarado un esquema de comentarios,
podemos seguir adelante y modificar el esquema del plato para poder almacenar comentarios.
Por lo tanto, dentro del esquema de platos,
podemos agregar comentarios
que es una matriz del esquema de comentario tipo,
por lo que significa que cada objeto de plato,
documento de plato puede tener múltiples comentarios almacenados dentro de una matriz dentro del documento de plato.
Por lo tanto, este es el comentario documentos se convierte en sub-documentos dentro de un documento de plato.
Por lo tanto, estamos almacenando todos los comentarios sobre el plato dentro
del plato en sí como una variedad de documentos de comentarios.
Por lo tanto, este es el uso del subdocumento en Mangoose.
Después de esto, vayamos al archivo index.js y luego modifiquemos nuestro archivo index.js.
Aquí, crean el plato como antes.
Luego, después de crear el plato,
luego consolamos el registro del plato.
A partir de entonces, actualizaremos el plato.
Por lo tanto, diremos que los platos se encuentran por identificación y actualización.
Por lo tanto, vamos a modificar el plato que acabamos de insertar en el paso anterior.
Por lo tanto, diremos: «Encuentra por ID y actualiza».
Y vamos a abastecer.
En esto toma dos parámetros,
el primer parámetro es el plato.
Ahora, este plato. _id, por supuesto, se refiere a este plato que
acabamos de insertar, y luego vamos a modificar ese mismo plato en el siguiente paso.
Entonces, diremos, «Dish. _id.» Y luego,
entre corchetes, especificamos $set, descripción,
prueba actualizada y nuevo verdadero.
Por lo tanto, esto, estamos modificando el plato que
acabamos de insertar actualizando su descripción allí.
Ahora, esto tiene que estar encerrado dentro.
Esta segunda bandera que estamos suministrando aquí,
nuevo colon igual a verdadero,
significa que una vez que la actualización del plato esté completa,
entonces esto
nos devolverá el plato, plato actualizado.
Entonces, esa es la razón para usar esta bandera aquí, digamos, nuevo verdadero.
Entonces, este plato será devuelto en el siguiente paso.
Y entonces, vamos a tomar ese plato y luego imprimirlo.
Entonces, en el siguiente paso,
vamos a modificar esto y decir, «Esto, luego plato».
Y luego, haremos un registro de la consola del plato.
Luego, después de esto, vamos a insertar un comentario en el plato.
Por lo tanto, vamos a decir, «plato.comentarios.Push.»
Recordemos que los comentarios son un campo dentro del plato.
Por lo tanto, volviendo al esquema,
vemos que estos comentarios son una matriz del tipo CommentSchema.
Entonces, lo que significa que podemos insertar un elemento en esta matriz.
Así que, volviendo aquí
, diremos: «Los comentarios del plato empujan».
Y luego, vamos a meter un documento de comentario en el plato aquí.
Por lo tanto, voy a decir, «Los comentarios del plato empujan.»
Y especifique los campos aquí.
Por lo tanto, diremos, «Calificación cinco, comentario y autor».
Y así, esto empujará este comentario en el campo de comentarios de este plato específico.
Así que, ahora que hemos modificado el plato,
el siguiente paso que vamos a hacer es,
déjame cerrar esto y luego ponerlo en él, luego allí.
Voy a volver y arreglarlo en poco tiempo.
Entonces, ahora que hemos modificado el plato,
tenemos que salvar el plato.
Por lo tanto, diremos, «Regresa el plato seguro».
Entonces, en este paso,
estamos insertando un comentario en el plato,
el plato que acabamos de crear y actualizar,
y luego estamos guardando ese comentario;
y luego, esto devolverá el plato.
Y cuando el plato se devuelve en la siguiente devolución de llamada,
voy a decir, «plato de registro de consola».
Y luego, después de eso,
diremos, «Regresa».
Entonces, con esto, hemos modificado nuestro archivo index.js.
Vamos a guardar los cambios y mirar esta aplicación.
Ir a la terminal,
vamos a ejecutar npm start y luego ver el valor resultante aquí.
Así que, volviendo atrás, vemos que en el primer paso,
hemos creado este plato aquí con el nombre y la descripción como hemos dado anteriormente.
Y luego, una vez creado el plato,
en el segundo paso,
actualizamos el plato y luego imprimimos la versión actualizada del plato.
Por lo tanto, la versión actualizada del plato se imprime allí.
Y puede ver que la descripción se ha actualizado desde el caso anterior,
pero el id sigue siendo exactamente el mismo que el plato que creamos anteriormente.
Y el campo de comentarios,
como se puede ver aquí,
es una matriz vacía y el ahumado.
En tercer paso, empujamos el comentario en nuestro plato aquí;
y luego, este comentario en particular que
agregamos se ha añadido a esta matriz de comentarios.
Por lo tanto, se puede ver ese comentario aquí,
y este es el plato actualizado que ahora se ha impreso en la pantalla aquí.
Por lo tanto, se puede ver que hemos hecho varios pasos uno tras otro con nuestro plato.
Primero creamos el plato,
luego actualizamos el plato,
luego insertamos un comentario en el plato,
que es un subdocumento dentro del documento del plato;
y luego, imprimimos el resultado para usted.
Con esto, completamos este ejercicio.
En este ejercicio, hemos visto cómo podemos,
primero, crear un plato usando platos crear,
luego vimos el uso de sub-documentos: allí,
definimos un esquema dentro del
archivo dishes.js y luego usamos el esquema de comentarios que definimos y
luego definimos el campo en el esquema de platos como un del tipo CommentSchema.
Y luego, en el archivo index.js,
pudimos crear un plato,
actualizar el plato y también insertar
un documento de comentario en el plato y luego guardar los cambios aquí.
Con esto, completamos este ejercicio.
Este es un buen momento para que hagas un Git Kermit con el mensaje, «Mangosta tercera parte».