У меня есть функция карты
function (doc) {
for(var n =0; n<doc.Observations.length; n++){
emit(doc.Scenario, doc.Observations[n].Label);
}
}
Вышесказанное возвращает следующее:
{"key":"Splunk","value":"Organized Alerts"},
{"key":"Splunk","value":"Organized Alerts"},
{"key":"Splunk","value":"Organized Alerts"},
{"key":"Splunk","value":"Generate Incident Report"},
{"key":"Splunk","value":"Ingest Data"}
Я рассчитываю разработать функцию приведения, которая затем будет возвращать счет вышеупомянутых значений, что-то вроде:
Organized Alerts: 3
Generate Incident Report: 1
Ingest Data: 1
Моя функция карты должна фильтровать мое поле Сценария, поэтому я использую ее в качестве ключа в функции карты.
Я пытался использовать ряд встроенных функций Reduce, но в итоге я получил количество строк, или ничего, поскольку доступные функции не применяются.
Мне просто нужно получить доступ к количеству каждого из элементов, которые появляются в поле значений. Кроме того, значения, представленные здесь, являются репрезентативными, в поле значений могут быть найдены сотни различных значений.
Я очень ценю помощь!
Вот пример ввода:
{
"_id": "e803c7491f63cdf3cb201c867c00d52c",
"Scenario": "Splunk",
"Team": "Alpha",
"CreatedOnUtc": "2019-06-20T21:39:09.5940830Z",
"CreatedOnLocal": "2019-06-20T17:39:09.5940830-04:00",
"Participants": [
{
"Name": "A",
"Role": "CSSP"
}
],
"Observations": [
{
"Label": "Generate Incident Report",
},
{
"Label": "Ingest Data",
},
{
"Label": "Generate Data",
},
{
"Label": "Ingest Data",
}
]
}