2016-10-01 3 views

ответ

3

В клиенте Meteor, meteor запускает MiniMongo, реализацию js API mongoDB.

Как написано в docs

На клиенте нет прямого подключения к базе данных MongoDB, и фактически синхронное API для него не представляется возможным (и не вероятно, что вы хотите). Вместо этого на клиенте коллекция представляет собой кеш-файл на стороне клиента базы данных. Это достигается благодаря библиотеке Minimongo - в памяти, все JS, реализации API MongoDB.

Для запросов на запись - клиент сохраняет данные, которые отражаются в MiniMongo, который затем обменивается данными с сервером Meteor. На основании правил allow/deny данные могут быть записаны на сервер MongoDB или запрещены. (Предполагается, insecure пакет удален)

Короче говоря, клиент (MiniMOngo) и Meteor Server общаются через DDP, Meteor Server и MongoDB обмениваются данными через NodeJS MongoDB Driver. Все сообщения от клиента отправляются на сервер и в соответствии с определенными правилами могут/не могут быть записаны в БД MongoDB.

Насколько безопасен запрос БД на стороне клиента Meteor?
Ответ на этот вопрос 'Зависит от'. Согласно Meteor docs, не рекомендуется полагаться на правила allow/deny для обеспечения безопасности. Он всегда предпочитал делать это с помощью методов, как описано here

Некоторые ресурсы:
Allow/Deny Rules in Meteor
Collections in Meteor
Read about MiniMongo Here

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