2014-12-11 5 views
1

Как я слышал, mongoDB может хранить внутренние процедуры.MongoDB: Хранимые процедуры

Как его использовать?

Официальная помощь очень короткая.

Могу ли я использовать хранимую процедуру. реализовать небольшую логику на этом слое?

То же, что и Postgres pl/pgSQL.

+0

Даже не пытайтесь, они НЕ хранимые процедуры, как в SQL-базах данных – Sammaye

ответ

5

Дублирующий вопрос (MongoDB Stored Procedure Equivalent) объясняет, что вы можете хранить процедуру в MongoDB, которую можно вызвать с помощью команды eval(), однако на самом деле это не объясняет, почему это плохо.

Eval - это прямой доступ к практически безграничной среде JS, вызванной кодом C++ от MongoDB. Хорошо также упомянуть, что инъекция через несвязанные параметры очень проста.

Это не хранимые процедуры, которые работают в собственной среде выполнения MongoDB (в отличие от хранимых процедур, о которых вы думаете) механизм JS запускается из MongoDB, MongoDB не запрограммирован в JS; он запрограммирован на C++.

Они доступны только из контекста JS, а не из контекста C++ MongoDB.

По умолчанию они могут принимать глобальную блокировку даже с помощью опции nolock, все зависит от операций, которые вы вызываете, а сам JS очень медленный по сравнению с собственной средой MongoDB.

Как таковой:

Могу ли я использовать ХП. реализовать небольшую логику на этом слое?

Нет. Фактически он реализован на третьем уровне, отдельно от MongoDB.

MongoDB предназначен для запуска этого материала с клиентской стороны, вероятность 90% не будет иметь реальных преимуществ при использовании «хранимых процедур». Фактически во многих базах данных ACID они сильно злоупотребляют и используются таким образом, что фактически замедляет работу приложений и делает их более склонными к сбою. Поэтому вам нужно очень тщательно подумать о том, действительно ли вы «нуждаетесь» в них или нет.

+0

Thank U! Этот исчерпывающий ответ – Dmitry

+0

Саммаи. Можете ли вы помочь мне лучше поработать с шаблонами mongoDB и MVC? – Dmitry

+0

@Dmitry Задайте новый вопрос: возникли проблемы – Sammaye

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