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

202
Visualizações
Mongoose devuelve 10 resultados ordenados por fecha para cada identificación de usuario en una matriz de identificaciones

digamos que tenemos una matriz de ID de usuario:

 "ids": [ "623d71c628820d09797be558", "62419d6477775214de099838", "62419d7877775214de099845", "62419d8877775214de09984c" ]

y queremos devolver los primeros 10 documentos de cada identificación ordenados por fecha. Sé que podemos hacer:

 const docs = await Model.find({ id: { $in: ids } }) .sort("date") .limit(10);

que devuelve 10 documentos ordenados por fecha, pero no para cada usuario, ¿cómo podría devolver 10 para cada uno en la matriz?

** EDITAR **

Aquí hay un documento de ejemplo de la colección de balance :

 { "_id": "624a19a0b1cf7d69a5193737", "user": { "name": "john", "id": "623d71c628820d09797be558" }, "description": "chips", "amount": 2, "type": "expense", "date": "2022-04-03T22:03:12.774Z", "__v": 0 }

y un documento de "usuario":

 { "_id": "623d71c628820d09797be558", "name": "john", "__v": 0 }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Esta es una forma de hacerlo mediante una canalización de agregación.

 db.collection.aggregate([ { "$match": { "id": { "$in": [ "623d71c628820d09797be558", "62419d6477775214de099838", "62419d7877775214de099845", "62419d8877775214de09984c" ] } } }, { "$sort": { "date": 1 } }, { "$group": { "_id": "$id", "docs": { "$push": "$$CURRENT" } } }, { "$project": { "_id": 0, "id": "$_id", "docs": { "$slice": [ "$docs", 10 ] } } } ])

Pruébalo en mongoplayground.net .

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