Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!