2012-03-01 2 views
0

기존의 몽고 데이터베이스를 읽어야합니다. 몽고이드는 적합합니까?기존 몽고 데이터베이스 읽기

내가 본 모든 튜토리얼은 몽고 데이터베이스를 처음부터 만드는 것에 관한 것입니다.

mongoid를 사용하여 데이터베이스에 액세스를 시도했지만 기존 정보를 표시하는 행운이 없었습니다. 이는 내가 시도한 것입니다.

mongoid.yml :

development: 
    host: localhost 
    database: managementdb 

test: 
    host: localhost 
    database: managementdb 

내가 발판을 (mongoid 발판을 인수 어떻게 좋아하지 않는다) 않았다

모델 :

class GamerProfile 
    include Mongoid::Document 
    store_in :profile 

    field :facebookId, :type => String 
    field :playerName, :type => String 
    field :locale, :type => String 
    field :dateJoined, :type => Time 
end 

그러나 기존 정보 localhost : 27017/managementdb/프로필이보기에 표시되지 않습니다.

읽기 전용 액세스 만 필요합니다. mongomapper 나 mongomodel이 더 적합할까요?

+0

"몽고 이인에게 적합한가?" –

+0

예 그게 무슨 뜻이야. –

답변

2

mongoid를 시도한 후에 mongomapper를 시도했으며 이름에서 알 수있는 것과 정확히 일치합니다.

하자 그러면 내가 예를 들어 GameUser라는 모델에서 set_collection_name "User"를 사용 나는 게임에서 사용자에게 관련 그러나 반드시 해당 응용 프로그램의 User 모델에 해당되지 아니하여 MongoDB에 User라는 컬렉션이 말한다.

내 초기 설정자가 mongodb 문서에서 곧바로 들어 있습니다. 그들의 예를 들어 몽고 마커를 사용합니다.

MongoMapper.connection = Mongo::Connection.new('localhost', 27017) 
MongoMapper.database = "gamedb" 

는 나의 모델은 다음과 같습니다 완벽 GameUser의 데이터에

class GameUser 
    include MongoMapper::Document 

    set_collection_name "User" 
    key :playerName, :type => String 
    ... 
    key :dateJoined, :type => Time 
end 

그리고 지금 내 비계로드.

+0

mongodb에서 컬렉션 이름과 다른 이름을 가진 모델이있는 경우,'set_collection_name "foo"' – Antony

0

기존 데이터베이스의 내용과 수행하려는 작업에 따라 다릅니다. Rails에만 해당되지 않는 원시 데이터가 포함되어 있다면 generic ruby driver을 사용하여 데이터베이스에 대한 원시 쿼리를 수행 할 수 있습니다.

데이터베이스가 레일스로 작성되었으며 모델 및 기타 레일스 오브젝트를 나타내야하는 경우에는 object mapper으로 작성해야합니다 (필자는이 경우를 생각해 봅니다).

+0

다른 언어로 된 다른 프레임 워크에 의해 만들어진 원시 데이터이지만, 여전히 모델과 컨트롤러를 갖고 싶습니다. mongo를 사용하여 파괴 작업을하지는 않습니다 (파손을 위해 나머지 API를 사용해야합니다). –

+0

@JosephLeBrech 그런 경우 가장 좋은 방법은 아마도 프레임 워크가 데이터베이스를 사용하는 방법과 데이터베이스의 구조가 무엇인지 연구하는 것입니다. 이것은 간단한 작업이 아닐 수도 있습니다. 그런 다음 원시 쿼리를 작성하여 필요한 데이터를 얻습니다 (그리고 필요에 따라 일부 오브젝트만큼 데이터를 매핑 할 수 있습니다). REST API를 사용하여 데이터를 가져올 수 없으므로보다 간단한 작업을 수행 할 수 있습니다. – Lycha

+0

한 번에 하나의 컬렉션 만 액세스하면됩니다. 모델이 컬렉션에 직접 매핑 될 것이라고 생각했을 것입니다. 나는 mongomapper와 함께 노력했다, 그렇지 않으면 나는 그것을 처음부터 해봐야 할 것 같다. –

관련 문제