Я пытаюсь использовать MongoDB для анализа файлов журнала Apache. Я создал поступления
с коллекции из журналов Apache Access. Вот скинутые резюме того, как выглядят мои модели:
db.receipts.findOne()
{
"_id" : ObjectId("4e57908c7a044a30dc03a888"),
"path" : "/videos/1/show_invisibles.m4v",
"issued_at" : ISODate("2011-04-08T00:00:00Z"),
"status" : "200"
}
Я написал функцию функцию Mapertuce , которые группируют все данные по настоящему ISSED_AT
. Он обобщает общее количество запросов и обеспечивает разбивку количества запросов на каждый уникальный путь. Вот пример того, как выглядит вывод:
db.daily_hits_by_path.findOne()
{
"_id" : ISODate("2011-04-08T00:00:00Z"),
"value" : {
"count" : 6,
"paths" : {
"/videos/1/show_invisibles.m4v" : {
"count" : 2
},
"/videos/1/show_invisibles.ogv" : {
"count" : 3
},
"/videos/6/buffers_listed_and_hidden.ogv" : {
"count" : 1
}
}
}
}
Как я могу заставить вывод выглядеть таким образом:
{
"_id" : ISODate("2011-04-08T00:00:00Z"),
"count" : 6,
"paths" : {
"/videos/1/show_invisibles.m4v" : {
"count" : 2
},
"/videos/1/show_invisibles.ogv" : {
"count" : 3
},
"/videos/6/buffers_listed_and_hidden.ogv" : {
"count" : 1
}
}
}