Такое дело в общем.
Есть MongoDB, в ней коллекция с до хрена данных. На самом деле нет, всё на моём ноутбуке и не весит ни фига, но гипотетически и потенциально это кластер из пятнадцати машин и коллекция по нему пошардена.
Для документов коллекции хочется исполнить JS на сервере. Это не проблема, есть MapReduce и всё такое. Поскольку прямо в них много кода писать неудобно, есть возможность какие-нибудь жирные функции зафигачить на сервер, вот примерно так: https://docs.mongodb.com/v3.2/tutorial/store-javascript-function-on-server/, и вызывать их потом.
Зачем надо?
Хочется выполнить стемминг слов в коллекции и сохранить результат в другую коллекцию, причём чтобы стемминг работал на сервере (параллельно-распределённо). Самое обидное, что хотя стеммер в MongoDB из коробки есть, но из JS его дёргать нельзя: http://stackoverflow.com/a/24175457/539470
В итоге хочется упаковать вот этот https://github.com/fortnightlabs/snowball-js, например, npm-пакет в одну функцию и дёргать из map или reduce.
1. Как правильно и эффективно его упаковать?
2. Есть ли более прямой способ постемить слова и сохранить в коллекции, и какой, если есть?