Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

297
Visualizações
Cómo llenar múltiples modelos con mongodb usando "población"

Estoy tratando de mostrar todos los datos con la declaración "poblar". Pero solo obtengo un "poblar" pero cuando pongo muchos no funciona. lo que quiero hacer es traerme los datos del modelo "Usuario", "Cliente" también.

este es mi codigo

Mi modelo:

 import { model, Schema } from 'mongoose'; const RoomSchema = new Schema({ Users: [ { agentId: { type: Schema.Types.ObjectId, ref: "User", required: false, }, customerId: { type: Schema.Types.ObjectId, ref: "Customer", required: false, }, typeId: Number, // 1 - agent, 2 - client }, ], Messages: [ { agentId: { type: Schema.Types.ObjectId, ref: "User", required: false, }, customerId: { type: Schema.Types.ObjectId, ref: "Customer", required: false, }, message: { type: String, required: true, }, date: Date, sender: Number, }, ], FinishAt: Date, FinishBy: String, typeFinishBy: Number, // 1 - agent, 2 - client }, { timestamps: true, versionKey: false }); export default model('Room', RoomSchema);

esta es la frase que estoy usando

 import Room from "../models/Room.js"; async function getOnlyRoom(id) { const foundRoom = await Room.findById(id) .populate('Users.agentId') .populate('Users.customerId') .populate('Messages.agentId') .populate('Messages.customerId') .execPopulate(); return foundRoom }

Imagen de Json Cartero

solo funciona con uno

 foundRoom.populate('Users.customerId')

Funciona con solo poblar

esta es la imagen de error de error

Muchas gracias por su ayuda

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Encontré la solución a mi problema. Estaba investigando la solución en el sitio web de mongoose y lo hice con una sola población.

 const populateRoom = await foundRoom .populate([ { path: 'Users.agentId', select: 'name' }, { path: 'Users.customerId', select: 'name' }, { path: 'Messages.agentId', select: 'name' }, { path: 'Messages.customerId', select: 'name' } ]) return populateRoom;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda