Как найти среднее с помощью карты уменьшить в MongoDB? - PullRequest
0 голосов
/ 03 января 2019

Мой документ имеет формат:

{
  "PItems": {
    "Workspaces": [
      {
        "Key": "Item1",
        "Size": 228.399,
        "Foo": "bar"
      },
      {
        "Key": "Item2",
        "Size": 111.399,
        "Bar": "baz"
      },
      {
        "Key": "Item2",
        "Size": 636.66,
        "Baz": "foo"
      }

    ]
  }
}

Мне нужно найти средний размер каждого элемента из всех документов в коллекции.Как мне это сделать?

Ожидаемый результат:

Item1: 346.12

Item2: 563.58

Я пробовал следующее:

db.Resources.mapReduce(
  function() { 
    this.PItems.Workspaces.forEach(
       function(z) {
          emit(z.Key, z.Size);
       }
    );
  },
  function(item, space) {
    var total = 0;
    for ( var i=0; i<space.length; i++ )
        total += size[i];
    return { avg : total/space.length };
  },
  out: { inline: 1 }
);

Я получаю синтаксическую ошибку: SyntaxError: отсутствует) после списка аргументов.Что мне здесь не хватает?

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