Подскажите пожалуйста следующее
Я пишу приложение и в нём есть некий функционал по работе с mongodb.
Для начала я описал функцию подключения к бд и тем самым у меня появилась переменная Pool, хранящая в себе пул подключений к бд.
Так же я описал функцию делающую некий запрос к бд и тут беда. Как правильней я могу обратиться к переменной Pool для получения соединения с бд, ведь переменная была определена в другой функции.
Подскажите пожалуйста оптимальное решение!
Заранее спасибо)
-module(my_mongo).
-define(POOL_ID, ?MODULE).
connect()->
emongo:add_pool(?POOL_ID, "localhost", 27017, "testdatabase", 1). %называем пул my_mongo
do_some_query(...) ->
emongo:find(?POOL_ID, ...).
Можно поподробнее пожалуйста?Получается что лучшим вариантом является написание модуля с использованием gen_server, который будет отвечать за подключение, выборку подключений и т.п? А хранение осуществляется с помощью #state?
https://github.com/mongodb/mongodb-erlang - официальный драйвер. Если не хотите использовать, посмотрите. как в нем реализован пул подключений.