Преобразование метки времени MongoDB в дату / месяц / год и сортировка - PullRequest
0 голосов
/ 15 января 2019

Мне нужно посчитать монго дБ на основе количества записей за каждый день. Я получил подсчет на работу и получил метку времени для преобразования более удобочитаемого человеком.

Единственная проблема сейчас в том, что я не могу отсортировать ее по времени, сначала и наоборот. Это довольно случайно.

Я использую Pymongo и использую Aggregate. Это мой конвейер:

{"$unwind": "$time"},
{"$group": {
    "_id": {"$dateToString": {"format": "%Y-%m-%d", "date": "$time"}},
    "count": {"$sum": 1}
}},
{"$sort": SON([("_id", -1)])}

Подсчет работает нормально, а дата в нужном мне формате.

Записи базы данных для времени выглядят примерно так, поэтому их необходимо преобразовать в строку:

'time': datetime.datetime(2019, 1, 10, 14, 22, 28, 32000)

В конце я использую его как API-интерфейс json, для которого требуется вывод времени 10-01-2019.

Помощь будет высоко ценится!

Спасибо

Примечание. То, как это происходит сейчас, не является "полностью" случайным ... но когда список возвращается к декабрю 2018 года, он начинает смешиваться, так как я думаю, что он сортирует только номер дня вместо целого Дата.

...