MongoDb - возвращение к разделенной карте - PullRequest
1 голос
/ 15 ноября 2011

У меня есть функция уменьшения карты, которую ради эффективности не следует запускать сразу.Таким образом, я разделил его на основе ряда идентификаторов, и в результате я получил кучу отдельных коллекций.Теперь я хочу присоединиться к ним и объединить все результаты mapreduce.Результирующая таблица должна по-прежнему иметь только один ключ и массив значений с комбинированными значениями временной таблицы.

Я попытался использовать «уменьшить» в своем выводе так, чтобы существующая таблица просто обновлялась,но это не работает:

res = db.People.mapReduce(m, r, {query:{xyz}, out:{reduce:"FoodPerPeople"}});

( edit ) Это дает мне вложенные массивы:

{
  "_id" : "Banana",
  "value" : ["Bart", ["Joe"]]
}

Я понимаю, почему это происходит - ре-reduce обрабатывает введенный массив значений как само по себе значение.

Пример того, что я ищу:

КОЛЛЕКЦИЯ 1:

{
  "_id" : "Banana",
  "value" : ["Bart"]
}

КОЛЛЕКЦИЯ 2:

{
  "_id" : "Banana",
  "value" : ["Joe"]
}

КОМБИНИРОВАННАЯ КОЛЛЕКЦИЯ: - Как мне это получить?

{
  "_id" : "Banana",
  "value" : ["Bart", "Joe"]
}

1 Ответ

0 голосов
/ 12 декабря 2011

Вероятно, у вас есть функция сокращения, которая не может восстановить уже сокращенные данные. Вам следует прочитать это техническое объяснение и попытаться привести функцию сокращения в соответствие с этим критерием.

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