需要Rails mongoDB单连接

时间:2012-05-21 15:12:30

标签: ruby-on-rails mongodb mongodb-ruby

我正在使用rails应用程序,我的rails应用程序日志应该在mongoDB中使用。

我正在记录每个控制器的方法调用及其参数的调用日期等。

这是我的应用程序控制器中的代码,用于记录信息

db = Mongo::ReplSetConnection.new([MONGODB_PROP['host'],MONGODB_PROP['port']],:refresh_mode => :sync).db(MONGODB_PROP['database'])
au = db.authenticate(MONGODB_PROP['username'],MONGODB_PROP['password'])

if au
  coll = db.collection("log_info")
  doc = { :tab_name => "#{params[:controller}",:date =>"#{Time.now}"}
  coll.insert(doc)
end

显然,我的代码需要一些标准问题。从我的实现中,每次调用的方法都会建立mongoDB连接。因此,自动连接对象增加了。它将成为性能问题。我想要单个数据库连接,只要它需要我需要获取连接对象并执行插入操作。我怎样才能做到这一点。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用Mongoid并创建一个LogInfo类。让mongoid处理你的数据库连接,你只需调用:

LogInfo.create(:tab_name => "#{params[:controller}",:date =>"#{Time.now}")