Quiero saber cómo puedo mostrar el nombre de usuario de un usuario. Por ejemplo, el usuario administrador publica un foro, luego vería Creado por: administrador en la página del foro, en su lugar, solo puedo pescar la ID.
No sé mucho sobre la mangosta y necesito a alguien que esté familiarizado con ella.
Mi modelo de foro:
Verá que solo tengo ref: 'usuario' y esto está tomando el ObjectId("") del Usuario.
const forumSchema = ({ forumName: { type: String, required: true, }, forumDescription: { type: String, required: true, }, user: { type: Schema.Types.ObjectId, ref: 'user' }, published_on: { type: String, default: moment().format("LLL") }, });mi modelo de usuario:
const UserSchema = mongoose.Schema({ userID: { type: String, required: true, }, userName: { type: String, required: true, }, password: { type: String, required: true, }, isAdministrator: { type: Boolean, deafult: false, }, });Interfaz :
Como puede ver, solo en {forum.user} allí puedo ver la identificación del usuario, pero quiero su nombre, no la identificación.
<footer className="blockquote-footer"> Created by:{forum.user} Created on:{forum.published_on.substring(0,300)} </footer>Dado que está utilizando 'ref' para hacer referencia a la tabla de usuario. Cuando busque un documento del foro, use la función populate() en mongoose para obtener todos los detalles del usuario como un subobjeto del documento del foro.
ejemplo: forumShcema.find({_id:<forum_id>}).populate('user').exec()