Предположим, в моей коллекции c
есть записи, подобные этой:
{ "_id": ..., "name":"foo", "date": "2020-02-02 ...", "value": 10 ...}
, и я хочу найти для каждой name
самую последнюю запись (по date
) с положительным значением value
.
Что-то вроде
def find_latest():
res = {}
for d in c.find({"value":{"$gt":0}}):
key = d["name"]
try:
if d["date"] > res[key]["date"]:
res[key] = d
except KeyError:
res[key] = d
return res
, но значение l oop должно быть на стороне сервера.
Я подозреваю, что это должно быть выполнимо используя агрегацию , но мне кажется, что мне нужно написать JavaScript для этого ...