2013-11-26 3 views
0

Мне нужно выполнить некоторую агрегацию в одной существующей таблице, а затем использовать агрегированную таблицу для выполнения сокращения карты.мы можем использовать запрос на поиск внутри карты в mongo

Таблица агрегации является своего рода временным использованием, поэтому ее можно использовать в уменьшении карты. Набор записей во временной таблице достигает 8M.

Каким может быть способ избежать временной таблицы?

Одним из способов может быть запись запроса find() внутри функции map() и испускание агрегированного результата (первоначально хранящегося в таблице агрегации).

Однако я не в состоянии реализовать это. Есть ли способ! Пожалуйста помоги.

+0

Я очень сомневаюсь, что это хорошая идея, чтобы использовать поиск внутри карты. В чем проблема с сохранением вывода структуры агрегации в другой коллекции, а затем использовать эту коллекцию, чтобы сделать mapreduce на ней. Вы можете посмотреть [здесь, как его достичь] (http://stackoverflow.com/q/13612028/1090562) –

ответ

0

Вы можете использовать параметр «запрос» на MongoDB MapReduce. С помощью этого параметра данные, отправленные в функцию карты, фильтруются перед обработкой.

Более подробная информация о MapReduce documentation

Смежные вопросы