Bueno, vuelve en este video para mostrarte cómo podemos configurar una asociación de una a varias asociaciones
entre dos modelos de mangosta mediante la incrustación de datos y vamos a trabajar con el usuario y la publicación.
Así que esto será como una aplicación de Facebook o blog donde tenemos un usuario y un usuario puede tener muchas
publicaciones, pero una publicación pertenece a un usuario y no vamos a crear una aplicación real aquí con rutas y plantillas.
Nos enfocaremos en los datos y el modelado de datos.
Así que voy a comenzar haciendo un nuevo archivo dentro del directorio de asociaciones que hice.
Puedes hacer esto donde quieras.
Va a ser un archivo único y lo llamaré embed dot J. S. la mangosta, y eso llevará un momento.
y abriré eso y dentro de aquí necesitaré una mangosta que aún no he instalado, así que lo haré a continuación y el
primer ministro instalará
Aquí vamos.
Hagamos un poco de espacio.
Y una vez que lo necesitamos, lo siguiente que queremos hacer es conectarnos a una base de datos
para que mongoose se conecte y esto depende totalmente de nosotros el nombre de la base de
datos, pero tiene que ser Mangu DB. .
Esta demo de blog así y guarde.
OK, entonces ahora necesitamos definir dos modelos que tenemos usuarios y tenemos una publicación.
El usuario solo tendrá un correo electrónico, un nombre y una publicación.
Tendrá un título y luego un contenido.
La publicación real en sí misma.
Entonces comenzaremos con el usuario necesita definir el esquema.
Hasta el momento, el esquema del usuario es igual al nuevo esquema de mangosta y luego vamos a tener un correo electrónico que es una cadena y
un nombre que es una cadena así.
Y luego crearemos el modelo hasta ahora.
El usuario es igual al usuario del modelo de mangosta.
La versión Cingular y el esquema del usuario es de lo que estamos construyendo.
Y ahorraremos eso.
DE ACUERDO.
Ahora pasemos a la publicación.
Así que vamos a crear otro esquema esta vez, el esquema var post es igual al nuevo esquema de mangosta y luego cada publicación
tiene un título que es una cadena y contenido que también hará una cadena.
convertirlo en un modelo var post modelo igual a mongoose stop model post comma post schema.
Y luego también tenemos que
Derecha.
Entonces tenemos dos esquemas configurando dos modelos.
Vamos a hacer un poco de espacio aquí.
Entonces tenemos nuestras publicaciones y tenemos nuestros usuarios.
Y solo intentemos ejecutar esto.
Asegúrese de que no tengamos ningún error de sintaxis para iniciar el embebido del nodo Dutcher Sí.
Se ve bien.
Ahora vamos a crear un solo usuario solo para asegurarnos de que nuestro modelo funcione.
Así que en la parte inferior, hecho aquí voy a hacer un nuevo usuario así
que simplemente lo llamaremos nuestro nuevo usuario igual a nuevo usuario y luego vamos a pasar un correo electrónico y el correo electrónico será Charlie en torno a Edu y el nombre
será Charlie Brown solo así.
Y luego, lo que ahorra un nuevo usuario para guardar.
Y luego agregaremos nuestra devolución de llamada con el error y luego volveremos los datos,
que esperamos sea nuestro usuario y no solo usted.
Si el error cancela el error de registro.
De lo contrario, cancelaremos ese usuario de registro.
Hasta ahora no hay asociaciones.
Solo estoy probando para ver si nuestro modelo de usuario funciona.
Entonces, ejecutemos este nodo incrustado en Dutchesse y recuperemos a nuestro usuario con la ID que se generó automáticamente
nombre y correo electrónico.
Genial, intentemos lo mismo con la publicación, así que coméntelo para no obtener
otro usuario y vamos a hacer nuestra nueva publicación igual a nueva y una publicación tendrá un título y el título de la publicación será una
reflexión sobre las manzanas y el texto de esa publicación o el contenido.
Creo que lo llamamos sí, el contenido será.
Son deliciosos.
Todo bien.
Gran publicación de blog allí.
Salvaremos para asegurarnos de que todo esté bien y luego vamos a hacer una nueva publicación que nos
salve la devolución de llamada nuevamente.
Con suerte, te estás sintiendo cómodo con este patrón porque lo estás viendo sin parar en el lugar donde pasan esta
devolución de llamada a la mangosta.
Cada vez que hacemos algo con Monga es encontrar crear actualizaciones de ahorro eventualmente eliminando eventualmente tenemos que pasar
en una devolución de llamada con el error como el primer parámetro y luego los datos
como el segundo.
Todo bien.
Por lo tanto, si el error anula el registro que, de lo contrario, llegaría a esa publicación del blog, asegúrese de que ambos funcionen.
Probémoslo y nos topamos con un pequeño problema.
Nos dice que la publicación no está definida cuando intentamos crear una nueva publicación.
Y la razón más lógica para que eso suceda sería si nombramos a nuestro modelo algo más que publicar.
Y que sabes
Lo llamamos modelo de publicación y nos referimos a que lo denominé incorrectamente.
Así que vamos con la publicación.
Podríamos haberlo guardado como modelo de publicación y luego haberlo cambiado aquí.
Pero definitivamente es convencional que sea solo el nombre de lo que está
haciendo, no necesita tener modelo, no necesita caracteres adicionales, solo el nombre del modelo en
sí o de la entidad con un capital. PAG. De acuerdo para que coincida ahora.
Derecha tenemos publicación y publicación aquí.
Probemos esto de nuevo y esta vez agrega un nuevo contenido de publicación.
Son deliciosas reflexiones de título sobre manzanas.
Ahora que nos hemos asegurado de que nuestros
dos modelos funcionen correctamente, podemos hacer una publicación y hacer un usuario.
Pero actualmente no tienen
nada que ver entre sí y queremos que tengan una relación. Recuerden que queremos que un usuario tenga o tenga muchas publicaciones y una publicación pertenecerá a un usuario.
Entonces esa es una relación de uno a muchos.
Y la forma en que voy a mostrar que logre eso es mediante la incorporación de datos en lugar de un esquema de usuario.
Entonces se verá así.
Entonces lo explicaré en solo un momento.
Vamos a tener un atributo de publicación dentro del usuario y dentro del atributo del Post.
Vamos a tener un montón de publicaciones y para que
funcione necesitamos agregar el esquema de publicación dentro de una matriz.
Entonces, en lugar de hacer que las
publicaciones sean una cadena, un número o un booleano, le estamos diciendo a la mangosta que queremos que sea una lista de una serie de publicaciones y tenemos que escribir un esquema de publicación que es un poco confuso honestamente.
Ojalá fuera solo publicar el nombre del modelo, pero así es como es.
Tiene que ser el nombre del esquema y tenemos otro problema que es que si ejecutamos
esto ahora no sabremos qué es post-quimio y eso es porque lo estamos definiendo en segundo lugar.
Entonces, si incorporamos los datos, primero debemos definirlos.
Así que definimos el esquema de publicación y el modelo de publicación y
luego definimos el esquema de usuario y dentro del esquema de usuario agregamos un atributo llamado publicaciones que es una matriz de publicaciones.
Entonces, si hacemos eso, nuestros datos se verán de esta manera o tendremos un nombre para
un usuario, hagamos un correo electrónico y me limitaré a hacer un nombre jibberish y luego también tendremos publicaciones y publicaremos una matriz.
título y contenido, y un usuario puede tener muchas publicaciones así.
Y dentro de esa matriz, tenemos varias publicaciones, por lo que cada publicación tiene un
Por lo tanto, por cada publicación que recibamos
será una nueva publicación en lugar del atributo de publicaciones en un usuario en particular.
Así que vamos a hacerlo.
Creemos un usuario y luego le mostraremos cómo podemos agregar una publicación a ese usuario para que podamos usar nuestro.
Charlie Brown aquí.
El nuevo usuario es igual a Charlie Brown.
Aunque cambiaré algunos de los correos electrónicos y nombres porque ya tenemos a Charlie Brown en la base de datos.
Vamos con mi mis en Hogwarts edu.
Y luego cambiaremos esto para ser mi tía Granger.
Todo bien.
Entonces tenemos un nuevo usuario y luego agregar una publicación a ese usuario.
Todo lo que tienen que hacer es escribir nuevas publicaciones de usuarios que presionen porque es una matriz.
Y presiono en una nueva publicación y una publicación tiene un título y el
título de mi siguiente publicación será cómo preparar poción de poli jugo y luego el contenido será una broma.
La clase de pociones para aprender todo bien.
Lo que sea que realmente no importa.
Entonces tenemos un
título y algo de contenido y luego vamos a insertar esta publicación en un nuevo usuario que definimos aquí.
Y lo último que tenemos que hacer es guardar un nuevo usuario.
Entonces, un nuevo usuario que ahorra así.
Y en realidad ya tenemos esto
escrito, así que lo reutilizaré y lo eliminaré, y esto lo intentaré y lo guardaré.
Si hay un error, nos avisará.
De lo contrario, nos mostrará al
usuario y luego comentar todas estas cosas aquí sobre las publicaciones y solo guardar eso y veamos qué pasa.
Así que tenemos nuestro esquema de correos que usted
definió, entonces tenemos el esquema del usuario y la nueva parte está aquí donde tenemos una serie de publicaciones dentro del usuario.
Y luego estamos creando un nuevo usuario y presionando en esa publicación correctamente.
Vamos a darle una oportunidad.
DE ACUERDO.
nueva publicación.
Y le devolvemos a este usuario que estamos imprimiendo aquí correos electrónicos recordando el nombre de Hogwarts, es Hermione Granger y luego, en lugar de publicaciones, tenemos una
Así que eso está funcionando bien.
Ahora probemos algo más donde voy
a comentar todo esto y en lugar de crear un nuevo usuario, recuperemos el usuario existente.
Así que voy a recuperar su minería.
Entonces haré eso con el usuario find.
Y voy a usar encontrar uno.
De lo contrario, find me dará una matriz y solo quiero una cosa.
Así que vamos a hacer que no encuentre uno encontrará
dónde se llama Hermione Granger y luego haremos nuestro error de devolución de llamada estándar y llamaremos a este usuario.
Con suerte, te estás sintiendo cómodo con eso en este momento.
Aquí mismo, la devolución de llamada
que escribimos prácticamente cada vez que hacemos algo con Mongoose y luego lo haremos.
Si alguna vez
aparece un error de
diálogo y, de lo contrario, tendremos constantemente errores en el usuario y tendré un paréntesis adicional que necesito eliminar de cada oportunidad.
Así que esto es solo para encontrarla, mi nueva espalda no es nada nuevo.
Estamos buscando un nuevo usuario y funciona.
Hacemos que el usuario regrese.
Su nombre es su mente, le envía un correo electrónico a su dinero en Hogwarts.
Ahora, supongamos que quiero agregar otra publicación porque se supone que es de uno a muchos.
Entonces, un usuario puede tener múltiples publicaciones.
Hagámoslo ahora.
y el título es tres cosas.
Entonces, dentro del otro, una vez que encontramos al usuario Vamos a ejecutar un código para agregarlo en una nueva publicación y luego parece
que este usuario publica la inserción al igual que antes y esta vez empujará otra publicación, así que empujaremos en el título
Realmente odio y el contenido será aún más.
Y Voldemort.
Muy bien, la publicación creativa allí me lo recuerda y vamos a seguir y guardar esto.
Así que todavía tenemos que hacer un ahorro de usuario y luego agregaremos nuestra devolución de llamada después.
Otro de estos errores.
Y simplemente llamaremos a este usuario nuevamente.
Y en lugar de aquí, lo hará si el error de registro de la consola de error cancela el usuario de registro.
Está bien, así que esto es lo que algunas personas llamarían devolución de llamada.
Demonios tenemos muchas devoluciones de llamadas aquí.
Tenemos el primero que encuentra su mente
en el hallazgo de ese usuario que estamos recibiendo y luego estamos presionando en una nueva publicación.
Pero eso no agrega realmente a la base de datos.
Entonces tenemos que guardarlo.
Y entonces hacemos el usuario save y este usuario aquí mismo.
Estos dos se refieren al usuario que regresa cuando encontramos su
mente la primera vez y luego estamos guardando y luego este usuario se refiere a lo que regresa del guardado.
Entonces, este usuario aquí ahora tiene la nueva publicación agregada y la guarda en la base de datos.
Son los datos que nos llegan desde Mongo y luego los estamos imprimiendo.
Probémoslo ahora.
Así que déjame deshacerme de este primer registro de contraplot.
Solo déjalo así.
nuestras cuentas sobre los registros.
Vamos a dejar claro que no tenemos ningún otro código en ejecución que vaya a interferir con
Vamos a ejecutarlo.
Todo bien.
Entonces, lo que
vemos es que ahora estamos imprimiendo un único usuario, Hermione, que tiene dos publicaciones como primera y segunda, y ambas están almacenadas dentro del atributo de publicación en el usuario único.
Entonces es uno para muchos.
DE ACUERDO.
Entonces eso es todo lo que quiero mostrar.
Vamos a reflexionar sobre esto brevemente.
Empezamos por sentarnos en Mongoose y tenemos dos modelos y eran independientes para empezar.
Y luego los asociamos agregando esta matriz de esquema de correos al esquema del usuario.
Entonces, ahora un usuario tiene una serie de publicaciones y comienza vacío.
Pero luego lo agregamos empujando el punto de inserción y
luego lo guardamos en el siguiente video para mostrarte otra forma de asociar datos utilizando lo que se llama referencias a objetos.