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

How can I setup multiple database(different) connection on the same Rails environment in mongoid.yml?

(即某些模型将使用默认数据库,而其他模型将在模型中明确定义时使用第二个数据库)。

我找不到这方面的任何最新参考资料。 我想知道下面提到的类似内容是否可行。

mongoid.yml

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

graph_metric.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
   some method to establish_connection

  field :timestamp, type: DateTime

end

store_inclient能为您解决问题吗? (参见 https://docs.mongodb.com/mongoid/master/tutorials/mongoid-documents/#storage

这有效。

mongoid.yml

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

graph_metric.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