2014-04-04 1 views
0

Rails app config에 여러 개의 mongo 연결이 있습니다. 데이터베이스 1에서 사용자를 가져 와서 데이터베이스 2에 저장해야합니다.몽고이드 2.5. 모델을 다른 데이터베이스에 저장하십시오.

몽고이드 문서에서는 구현 방법을 설명합니다. http://mongoid.org/en/mongoid/docs/persistence.html#custom. 그러나 mongoid 3+ 버전에만 해당됩니다. 나는 2.5.1을 가지고 있으며 그것을 업그레이드 할 수 없다.

User.with (데이터베이스 : '준비'는) 나는이 작업을 위해 오토바이를 사용하기로 결정

답변

0

undefined method `with' for User:Class (NoMethodError에 연결됩니다.

require 'moped'  

def connect_mongo(config) 
    session = Moped::Session.new(["#{config['host']}:#{config['port']}"]) 
    session.use config['database'] 
    session.login config['username'],config['password'] 
    session 
end 

그리고 다른 DB에 사용자를 저장하는 코드 :

mongo = connect_mongo(config1) 
mongo_staging = connect_mongo(config2) 

users = mongo[:users].find.limit(limit) 
users.each do |user| 
    # some code here ... 
    mongo_staging[:users].insert(user) 
end