每次我需要从MongoDB获取内容时我都会连接到它。有没有办法只能连接一次(比如全局变量)并在所有查找和操作中使用该变量?
由于
答案 0 :(得分:0)
你自己已经做了很多事情。我首选的方法是在lib目录中的初始化程序或类中使用一个方法,该方法在尚未设置类变量时对其进行初始化。
以下假设您使用的是标准Ruby驱动程序。我把它放在一个模块中,但你真的不需要这样做。我也选择了我想要使用的数据库,因为我倾向于每个应用程序使用一个。
# config/initializers/mongodb_connection.rb
module CachedMongoDBConnection
def mongodb_connection
@@cached_mongodb_connection ||= Mongo::Connection.new.db('my_database_name')
end
end
include CachedMongoDBConnection
现在,在您的控制器/模型等中,您可以调用mongodb_connection
方法并使用它。