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

188
Views
bucle interno mongodb en la misma colección

Estoy buscando una consulta que encuentre documentos que sean inferiores a la fecha específica y también me dará la fila que tiene una clave de referencia igual a esa identificación

para los siguientes datos (1 colección) y el parámetro de fecha es "01-10-2019" (octubre de 2019): (así que buscará primero solo lte: 01-10-2020

 { { "id": 1, "ref": null, "date": "20-09-2020" (SEP 20) }, { "id": 2, "ref": 1, "date": "today" }, { "id": 3, "ref" null, "date": "today" } }

el resultado será : id 1 and 2 , porque 1 cumple con los criterios de fecha y id 2 tiene una clave de referencia igual a id 1 . id 3 no se recibirá porque no cumple con los criterios de fecha

 { { "id": 1, "ref": 2, "date": "one month before" }, { "id": 2, "ref": 1, "date": "today" }, }

el problema es que necesito ir por encima de 100-200k filas y cada vez que trabajo en digamos 1000 documentos

¿Cómo puedo hacer eso de una manera eficiente?

Pensé en algo como: 1-

 col.find({date:{$lte:given_Date}}

2- ejecutar en cada uno de los resultados y encontrar

 col.findOne({ref:given_id}}
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puedes hacerlo usando aggregation framework

 db.collection.aggregate([ { "$addFields": {//Add a field to convert your dates "date1": { "$cond": { "if": { "$eq": [ "$date", "today" ] }, "then": new Date(), "else": { "$toDate": "$date" } } } } }, { "$lookup": {//Join "from": "collection", "localField": "id", "foreignField": "ref", "as": "output" } }, { "$match": {//match condition "date1": { "$lte": ISODate("2020-10-01T00:00:00Z") } } } ])
  1. Almacene una fecha adecuada que el formato de cadena
  2. No encuentre el día actual para hoy. ¿Cómo lo cambia cuando pasa el día?
  3. Si se incorporaran las dos sugerencias anteriores, podría evitar $addFields .

patio de recreo

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