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

116
Visualizações
Mongoose consulta los ID de usuario dentro de una propiedad de matriz

Tengo una aplicación de mensajería en la que un modelo de conversación almacena a los participantes de una conversación única.

Estoy tratando de consultar una conversación específica en la que dos ID de usuario están dentro de la matriz de participantes, pero aparece el mensaje de error "El filtro de consulta debe ser un objeto, tiene una matriz" .

Intenté colocar la matriz dentro de un objeto, pero no funcionó y no estoy seguro de cómo hacer que esta consulta funcione O si hay una mejor manera de realizar esta búsqueda.

¿Qué estoy haciendo mal?

MODELO

 const conversationSchema = mongoose.Schema( { participants: [ { type: mongoose.Schema.Types.ObjectId, ref: `User` } ] } )

CÓDIGO DE RUTA EXPRÉS

 const existingConvo = await Conversation.findOne({ participants: { $elemMatch: [msg.senderId, msg.recId] }, // ^ Query filter must be an object, got an array })
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su caso de uso debería requerir $all en lugar de $elemMatch , ya que requiere que la matriz de participants contenga ambos/todos los usuarios en su matriz de consulta.

Tu código debería ser así:

 const existingConvo = await Conversation.findOne({ participants: { $all: [msg.senderId, msg.recId] } })

Aquí está el área de juegos de Mongo para que pueda hacer referencia al comportamiento de $all en la consulta nativa de Mongo.

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