Я использовал ASP.NET, и теперь я работаю над приложением Sinatra/MongoDB. В архитектуре ASP.NET соединение с базой данных, используемой данным запросом, происходит из пула соединений, которым управляет ADO.NET. Соединения сохраняются в пуле между запросами, так что стоимость создания и разрыва соединения не оплачивается для каждого HTTP-запроса.
Есть ли аналогичный механизм в приложении Sinatra MongoDB, или мне нужно будет подключиться/отключиться с каждым запросом? Если есть механизм, как выглядит код?
EDIT1: НЕ работает. Каждый HTTP-запрос, отправляемый браузером, попадает в строку new.db, включая запросы на css, js, jpeg файлы.
require 'mongo'
include Mongo
db = Mongo::Connection.new.db("MyDb")
class MyApp < Sinatra::Base
get '/' do
etc