Tengo una colección mongodb y quiero completar un campo anidado cuando devuelvo datos de la base de datos. Quiero devolver solo campos específicos, el código a continuación explica más.
this is my schema const hallSchema = new Schema({ hallName: { type: String, required: true }, email: { type: String, required: true }, images: [{ type: String, required: true }], }); and this is code I'm writing to get the first image of the images array chatRooms = await ChatRoom.find({ _id: convertedIds }) .populate("hallId", `hallName ${images[0]}`);la consulta anterior está fallando porque no es válida, ¿cómo puedo obtener el primer elemento de la matriz de imágenes? Gracias por cualquier ayuda
Lo que entiendo es que desea completar los datos en hallId y, a partir de los datos de hallId poblados, desea seleccionar la primera imagen de la matriz de imágenes. Entonces, para proyectar campos a partir de datos poblados, puede hacer esto, funciona para mí,
const chatRooms = await ChatRoom.find({ _id: convertedIds }) .populate({ path: 'hallId', select: { hallName: 1, images: { $slice: ['$images', 1] }, } });