А ну тогда все понятно, он у вас не хочет жрать бинарники, надо их кодировать во что-то. Надо бы посмотреть. Может подойдет, bson, он умеет работать в потоке, т.е. не требует выделения памяти.
Алекcандр: Возможно надо попробовать закодировать файл в какой-нибудь urlencoding или base64, может ему религия не позволяет кроме символов ascii жрать.
Во, нашел идеальный пример: https://github.com/dab00/mongodb-cache/tree/master...
Смотрите index.js
Все роутеры подключены... одним папко/файлом /routes (это может быть и папкой, содержащей в свою очередь index.js, но в этом примере это файл - routers.js
Подключены два роута, которые управляются одним контроллером:
router.get('/', controller.find);
router.get('/:id', controller.setObjectId, controller.findOne);
Здесь опять же под "/:id" адрес может быть любым как в википедии.
Если нам надо, доработать сюда новости, создаем еще контроллер в файл news-controller.js и воткнем еще пару роутов:
router.get('/news', newsController.find);
router.get('/news/:id', newsController.setObjectId, newsController.findOne);