Mongodb: получить среднюю продолжительность товаров в инвентаре - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть коллекция с $ vehicleId и $ Scraped Date. Я пытаюсь получить среднее количество дней, когда машина находится в инвентаре. И я хочу рассчитать это для всех исторических дней.

Образец документа

{"_id":{"$oid":"5e1b46d853848fae2832e01a"},"Scraped Date":{"$date":{"$numberLong":"1578845911324"}},"vehicleId":{"$numberInt":"1376788"}}
{"_id":{"$oid":"5e1b46d853848fae2832e01b"},"Scraped Date":{"$date":{"$numberLong":"1578845911324"}},"vehicleId":{"$numberInt":"1376771"}}
{"_id":{"$oid":"5e1b46d853848fae2832e01c"},"Scraped Date":{"$date":{"$numberLong":"1578845911324"}},"vehicleId":{"$numberInt":"1376734"}}
{"_id":{"$oid":"5e1b46d853848fae2832e01d"},"Scraped Date":{"$date":{"$numberLong":"1578845911324"}},"vehicleId":{"$numberInt":"1376706"}}
{"_id":{"$oid":"5e1b46d853848fae2832e01e"},"Scraped Date":{"$date":{"$numberLong":"1578845911324"}},"vehicleId":{"$numberInt":"1376505"}}

collection.aggregate([
    {'$group': {
        '_id' : {'vehicleId': '$vehicleId'},
        'date' : {'$addToSet': "$Scraped Date"}
    } }
    ]
)

Этот код дает мне список дат, когда идентификатор транспортного средства был найден в инвентаре. Как я могу преобразовать это в список дат с средней длиной автомобилей, которые были в инвентаре на тот день? Я мог бы подумать о том, чтобы найти среднюю длину столбца дат, но это не даст мне данных за день.

Текущий вывод выглядит следующим образом в кадре данных:

представление данных в кадре

1 Ответ

0 голосов
/ 03 февраля 2020

Я нашел решение. Создал простой для l oop для каждой даты, а затем использовал запрос $ match, чтобы сначала отфильтровать результаты, а затем вычислить среднюю длину. Вопрос пока закрыт. Через некоторое время я обновлю код в оригинальном вопросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...