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

198
Visualizações
Obtenga valores específicos de MongoDB

Soy nuevo en Mongo, por lo que se agradece cualquier ayuda.

Tengo un objeto Usuario y en él varios objetos más que alojan datos de clientes en función de la interacción del Usuario con cada uno.

Así es como esto luce

 db.users.findOne( {"clients.clientId":35}, {"clients.clientId":1} )
 { "_id" : ObjectId("586670e6ce9287cf6d197d14"), "clients" : [ { "clientId" : 35 }, { "clientId" : 67 }, { "clientId" : 73 }, { "clientId" : 78 }, { "clientId" : 82 } ] }

Como puede ver en mi consulta, devuelve un Usuario que tiene datos del cliente 35 pero también devuelve datos de todos los demás clientes.

¿Cómo puedo acceder solo a los datos del cliente 35?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Tiene una matriz incrustada de documentos en la clave de clients .

Su proyección de consulta {"clients.clientId":1} establece que la consulta debe devolver solo esa clave, la clave de clients . Su campo de clients es una matriz, por lo tanto, todos los documentos incrustados de la matriz se extraerán (proyectarán).

Cuando desea que se muestre solo un elemento en la matriz, el definido en la consulta, es decir, el cliente con id 35 {"clients.clientId":35} , debe usar el operador posicional de proyección $ :

 db.users.findOne({"clients.clientId":35},{"clients.$":1})

Resultado:

 { "_id" : ObjectId("586670e6ce9287cf6d197d14"), "clients" : [ { "clientId" : 35 } ] }

Nota: al usar el operador $ , proyectará solo el primer elemento de la matriz que coincida con la consulta; si tiene más documentos en la matriz con el mismo valor, solo se mostrará el primero.

over 4 years ago · Santiago Trujillo 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