• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

57
Views
Consulta sobre Pymongo

Necesito obtener dos campos de un registro en una colección, digamos "cpyKey" y "dispositivos". hay varios registros que tienen la misma "cpyKey" y "dispositivos". Necesito extraer el registro con el último campo "run_date" disponible en el registro y ordenar el resultado en orden ascendente de "dispositivos".

Usando pymongo. ¿Alguien puede ayudarme a enmarcar la consulta?

 agg_result=list(db.xyz.aggregate( [#{ #"$match":{}}, {"$group": {"_id":"$cpyKey","Max Devices":{"$max":"$devices"}}}, #{"$sum":1} -->Gives no. of records related to "_id":"$cpyKey" field {"$sort":{"Max Devices":1}} ]))

anteriormente hice esto, pero ahora, debe haber un cambio... en lugar de obtener el máximo de dispositivo, necesito tener el dispositivo del último registro insertado de cpyKey en particular.

Lo intenté :

 mk=list(db.xyz.find({},{"_id":0,"run_date":1}).sort([('run_date',-1)]).limit(1)) print(mk) #mk is extracting the latest run_date value, but it is associated with a cpyKey agg_result=list(db.xyz.find({"run_date":mk[0]['run_date']},{"cpyKey":1,"devices":1,"_id":0})) print(agg_result) #while implimenting mk in above, it gives a record to which it is associated

Pero no me da valores para todas las cpyKey

about 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Primero puede ordenar por run_date

Y luego use $last en la fase de grupos, para recuperar los Max Devices correspondientes del último elemento para cada cpyKey

 [ { "$sort": { "run_date": 1 } }, { "$group": { "_id": "$cpyKey", "Max Devices": { "$last": "$Max Devices" } } }, { "$sort": { "Max Devices": 1 } } ]

pruébalo aquí

about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error