문제

나를 만들려고 기본적인 레일 CRUD 에 대해 응용 프로그램 CouchDB 데이터베이스에서 호스팅디.

내가 사용하는 couch_potato 으로 내 고집층과 그것이 제대로 연결하여 내디 데이터베이스입니다.

문제는 나의 최초 모델을 볼 수 없이 기존 문서에서 내 CouchDB 데이터베이스 를 추가 ruby_class 는 필드의 이름과 같 내 모델입니다.

나의 간단한 사용자는 모델:

class User
  include CouchPotato::Persistence

   property :id, :type => Fixnum
   property :FullName, :type => String

   view :all, :key => :FullName
end

샘플 CouchDB document:

{
  "_id": 123456,
  "_rev": "4-b96f36763934ce7c469abbc6fa05aaf3",
  "ORGID": 400638,
  "MyOrgToken": "19fc342d50f9d8df1ecd5e5404f5e5f7",
  "FullName": "Jane Doe",
  "Phone": "555-555-5555",
  "MemberNumber": 123456,
  "Email": "jane@example.com",
  "LoginPWHash": "14a3ccc0e6a50135ef391608e786f4e8"
}

지금은,사용할 때 all 에서 보기 레일 콘솔,나는 어떤 결과를 얻을 수 없 백:

1.9.2-p290 :002 > CouchPotato.database.view User.all
=> []

는 경우 추가 필드 값 "ruby_class: User" 위 CouchDB 문서,다음의 결과를 얻을 뒷면 콘솔에서:

1.9.2-p290 :003 > CouchPotato.database.view User.all
=> [#<User _id: "123456", _rev: "4-b96f36763934ce7c469abbc6fa05aaf3", created_at: nil,       
   updated_at: nil, id: "123456", FullName: "Jane Doe">]

나는 작업으로 대량의 고객 데이터를,그리고 나는 원하지 않을 쓰는 어떤 스크립트를 추가 ruby_class 분야 모든 문서(그리고 내가 이용이 허용되지 않을 수 있습니다).

어떻게 얻을 수 있습니 내 응용 프로그램을 인식하는 이러한 기존 CouchDB 문서를 추가하지 않고 ruby_class 니까?

나는 찾을 수 없는 많은 설명서에 대한 couch_potato 및 couchrest 보여주는 작동하는 방법으로 기존 CouchDB 데이터베이스가 있습니다.대부분의 예에는 당신이 프로젝트를 시작하고 데이터베이스(s)습니다.

감사합니다,

/floatnspace

도움이 되었습니까?

해결책

을 찾고 계신다면에 allUser 다음과 같이 표시됩니다. ruby_class == 'User' 도록을 추가하지 않는 경우 이 숙박 시설의 서류를 작동할 필요가 있을 것이 무엇 couch_potato 제공합니다.수 즉사용 couch_rest 직접 검색하는 문서를,그러나 나는 생각하지 않는 것이 무엇을 원합니다.

시작하는 경우 유지 또는 업데이트를 자신의 문서,couch_potato 니다 추가 ruby_class 필드습니다.그래서 저는 생각은 단순한 솔루션을 추가할 수 있습니다.

다른 것을 할 수 있을 만들기 방출하는 문서 또한 그들은하지 않는 경우가 있는 시설을 설정합니다.이 방법은 작동이 있는 경우 한 문서의 종류에 당신의 couchdb:

if(!doc.ruby_class || doc.ruby_class == 'User') {
  emit(doc);
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top