Как подключится к mongodb из клиентского javascript?
Vetal Matitskiy: на мой взгляд вы ленитесь запустить рест апи, давайте рассудим, нагрузка по выборке данных в любом случае будет храниться на сервере, отдавая такие возможности во фронтэнд вы лишаете себя контроля по числу запросов, их корректности, а как следствие создаете неконтроллируемую нагрузку на бд. Минусы, которые я вижу, число одновременных подключений к бд может быть огромным, зачем себя флудить? 2. любой запрос вне вашей логики может использовать поиски к неиндексированным данным, что может привести к блокировкам. 3. вы отдадите клиенту логин и пароль на чтение, что он будет делать с ними после этого только ему известно. Теперь о плюсах использования бекэнда, чтобы совсем лениться, как вариант ставим ноду и устанавливаем фреймворк sails.js, устанавливаем проект, получаем готовую базу для бекэнд апи, генерируем апи контроллер, описываем модель и что она будет выдавать, вот вам и выборка из бд, а клиента учим отрисовывать это все в фронтэнде. можно через тот же ангуляр.
я конечно понимаю, что это не ответ на ваш вопрос, но вы не можете найти решение именно потому, что так не надо решать. 
Для примера sails new Project создаст проект
sails generate api post создаст фулрест апи с описанными методами find, findOne, create, update, destroy, populate, add, remove
ненужные отключаете и все готово.
Я конечно понимаю, держать бекэнд кажется лишним, но когда вы получите одновременно 5 - 10 запросов на полную выборку из огромных таблиц, ваш сервер встанет в ожидание и начнет отказывать клиентам в получении данных, поймете, что пришли не туда, куда хотели и будете все в спешке переделывать.
Естественно sails не обязателен в использовании, можно найти кучу других решений.
Вот например первый ответ из гугла: https://www.npmjs.com/package/restful-api
В любом случае я 10 раз рекомендую подумать перед тем, как отдавать такой функционал во фронтэнд. И да, если не передумаете, пришлите ссылку на готовый проект. может мне ваши данные покажутся полезными и я их целиком выкачаю ))))
На формуах вам посоветовали самое правильное решение.