#javascript #mapreduce #mongodb
#javascript #mapreduce #mongodb
Вопрос:
У меня есть коллекция в MongoDB, где данные в коллекции имеют следующую структуру :
{userid = 1 (the id of the user), key1 = value1 , key2 = value2, .... }
Я хочу написать функции mongodb mapreduce, где я мог бы поместить идентификатор пользователя в функцию map, а в функцию reduce мне нужно записать их пары (ключ, значение) в файл csv (?) таким образом, чтобы они были :
ключ1, ключ2, ключ3,…
значение1,значение2,значение3,..
значение1,значение2,значение3,..
значение1,значение2,значение3,..
Как я могу это сделать с mongodb
Спасибо
Ответ №1:
Нет опции «вывод в файл».
Документация MongoDB содержит подробную информацию об экспорте данных.
В частности, mongoexport
позволяет экспортировать с помощью JSON или CSV, которые должны быть понятны из другого программного обеспечения.
Если вы хотите значительно изменить выводимые данные, то вам придется использовать клиентскую библиотеку и перемещать курсор по данным при записи в файл.
Ответ №2:
Вы не можете записывать данные в файл напрямую. Вы должны реализовать такую функциональность на уровне приложения, считывая данные из коллекции и записывая их в файловую систему в любом формате.
Комментарии:
1. Спасибо, еще один вопрос, если вы знаете, что у каждого идентификатора пользователя есть свой набор пар ключ / значение, как мне написать, что мой emit является универсальным .. чтобы он проходил через них key1 =value1, key2 = value2 и т.д. .. .. так что это было бы что-то вроде: emit(this.userid, * остальные пары ключ / значение будут отправлены сюда ) ;
2. Не используйте комментарии для новых вопросов. И примите ответ, если он подходит для вас.