У меня есть функция уменьшения карты, которую ради эффективности не следует запускать сразу.Таким образом, я разделил его на основе ряда идентификаторов, и в результате я получил кучу отдельных коллекций.Теперь я хочу присоединиться к ним и объединить все результаты 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"]
}