• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

98
Vistas
Agregar elemento dentro de una matriz anidada en mangosta
Server Started at Port 3000... { _id: new ObjectId("61c707e9f4ff040a47d27c3f"), username: 'adityaaryam', password: '1234', nameOfUser: 'Aditya Aryam', emailOfUser: 'adityaaryam@gmail.com', userAllLists: [ { name: 'Hello', items: [], _id: new ObjectId("61c70d915448262d1dca1a69") }, { name: 'Work', items: [], _id: new ObjectId("61c70d965448262d1dca1a70") }, { name: 'Home Work', items: [], _id: new ObjectId("61c70d9b5448262d1dca1a79") }, { name: 'Hello', items: [], _id: new ObjectId("61c70e7f5448262d1dca1a84") }, { name: 'Play', items: [], _id: new ObjectId("61c7126a5448262d1dca1a9b") }, { name: 'Eat', items: [], _id: new ObjectId("61c71325b0219e6ce4f57990") }, { name: 'Walla', items: [], _id: new ObjectId("61c7197de9564390d506cbe9") } ], __v: 7 }

Así es como se ve mi base de datos. Quiero empujar nuevos elementos a la matriz de "elementos" que está anidada dentro de la matriz "userAllLists" usando mangosta. ¿Cómo implemento esto?

He estado intentando findOneAndUpdate usando $push pero no puedo lograr mis resultados deseables.

Mis esquemas son los siguientes:

 const itemSchema = { name: String }; const customListSchema ={ name:String, items:[itemSchema] }; const userSchema={ username: String, password: String, nameOfUser: String, emailOfUser: String, userAllLists: [customListSchema], };

¡Gracias de antemano!

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que $push es la forma correcta de insertar nuevos elementos en matrices anidadas, no mostraste el código que intentaste para ver si funciona o no, aquí hay un ejemplo basado en tu esquema

 User.update({_id: "61c707e9f4ff040a47d27c3f", }, { '$push': { "userAllLists.$[].items": {name: "test item name"} } });

Nota: las expresiones $[] empujarán el objeto especificado dentro de todas las matrices de items que existen en userAllLists

Para enviar el elemento solo para un objeto userAllLists específico, puede usar la siguiente sintaxis

 User.update({_id: "61c707e9f4ff040a47d27c3f", "usersAllLists._id": "61c70d915448262d1dca1a69"}, { '$push': { "userAllLists.$.items": {name: "test item name"} } });

esto garantizará enviar el objeto del elemento al objeto usersAllLists especificado que tiene esta identificación 61c70d915448262d1dca1a69

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda