을 받고 couchrest 및 couch_potato 을 인식하는 기존 couchdb 문서
-
12-12-2019 - |
문제
나를 만들려고 기본적인 레일 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
해결책
을 찾고 계신다면에 all
보 User
다음과 같이 표시됩니다. ruby_class == 'User'
도록을 추가하지 않는 경우 이 숙박 시설의 서류를 작동할 필요가 있을 것이 무엇 couch_potato 제공합니다.수 즉사용 couch_rest 직접 검색하는 문서를,그러나 나는 생각하지 않는 것이 무엇을 원합니다.
시작하는 경우 유지 또는 업데이트를 자신의 문서,couch_potato 니다 추가 ruby_class
필드습니다.그래서 저는 생각은 단순한 솔루션을 추가할 수 있습니다.
다른 것을 할 수 있을 만들기 방출하는 문서 또한 그들은하지 않는 경우가 있는 시설을 설정합니다.이 방법은 작동이 있는 경우 한 문서의 종류에 당신의 couchdb:
if(!doc.ruby_class || doc.ruby_class == 'User') {
emit(doc);
}