Что может помешать одному открытию двух подключений наивно, так это автоматические идентификаторы рабочих, соответствующие эквивалентному имени модуля.
children=[
worker(Mongo, [[name: :mongo, database: "transit", seeds: ["localhost:27017"], pool: DBConnection.Pool]]),
worker(Mongo, [[name: :mongo_final, database: "final", seeds: ["localhost:27017"], pool: DBConnection.Pool]], id: MongoFinal)
]
opts= [strategy: :one_for_one, name: HugoEtl.Supervisor]
Supervisor.start_link(children, opts)
Это запустит 2 подключения к базе данных, каждое из которых можно запросить с помощью:
# first connection
Mongo.find(:mongo,"collection",%{})
# second connection
Mongo.find(:mongo_final,"collection",%{})