Estoy creando subdocumentos en mi modelo de evento bajo guests que se ven a continuación. Me gustaría console.log el ID de subdoc correspondiente a medida que se crea cada ID de invitado.
{ "guests" : [ { "phone" : 11111, "_id" : ObjectId("61ef629981f154bead6b0de4") }, { "phone" : 4444444444, "_id" : ObjectId("61fca19f95b626e017732139") } ] }Seguí los documentos de mangosta , pero el código de los documentos (a continuación) solo registra la primera identificación incluso cuando se crea cada documento posterior debido al índice 0.
// create a comment parent.children.push({ name: 'Liesl' }); const subdoc = parent.children[0]; console.log(subdoc) // { _id: '501d86090d371bab2c0341c5', name: 'Liesl' } subdoc.isNew; // trueIntenté eliminar el índice 0 y el registro de la consola solo produce la matriz de invitados en constante crecimiento.
module.exports.addGuest = async (req, res) => { const event = await Event.findById(req.params.id); const phone = req.body.guest; event.guests.push(phone); const guestId = event.guests[0]; console.log(guestId); await event.save(); res.redirect(`/events/${event._id}`); }¿Cómo ajusto mi función para registrar el ID de subdoc correspondiente a medida que se crea?
intente aplicar ganchos de mangosta en su subschema . mongoose pre save hook se activa cada vez que se guarda un documento en su colección y puede registrar la identificación de su documento que se está guardando.