如何在mongoid.yml中设置同一Rails环境下的多个数据库(不同)连接?

问题描述 投票:0回答:1

(即有些Model会使用默认的DB,而有些Model则会在模型中明确定义后使用第二个DB)。

我找不到任何最新的参考资料,我想知道下面提到的类似情况是否可行。

mongoid.yml

development:
  clients:
    default:
      uri: <%=ENV['DEFAULT_DB']%>
    mongo_db:
      uri: <%=ENV['SECOND_DB']%>

图形指标.rb

class GraphMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connects to default

  field :timestamp, type: DateTime

end

系统指标.rb

class SystemMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connect to mongo_db
   some method to establish_connection

  field :timestamp, type: DateTime

end
ruby-on-rails ruby mongoid
1个回答
0
投票

store_in client 为你解决这个问题?(见 https:/docs.mongodb.commongoidmastertutorialsmongoid-documents#storage。)


0
投票

这个工作。

mongoid.yml

development:
  clients:
    default:
      uri: <%=ENV['DEFAULT_DB']%>
    mongo_db:
      uri: <%=ENV['SECOND_DB']%>

图形指标.rb

class GraphMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connects to default

  field :timestamp, type: DateTime

end

system_metric.rb

class SystemMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connect to mongo_db
   store_in client: :mongo_db

  field :timestamp, type: DateTime

end
© www.soinside.com 2019 - 2024. All rights reserved.