2011-02-03 84 views
1

一個CouchDB的視圖中的對象假設我有一個名爲我的CouchDB視圖「用戶/所有」和CouchRest ExtendedDocument如下:如何檢索使用CouchRest紅寶石寶石

class User < CouchRest::ExtendedDocument 

    property :username 
    property :password 
    property :realname 
    property :role 
    property :rights 

end 

我怎麼會去使用此ExtendedDocument從此視圖檢索關鍵字'admin'的文檔?

(如果我需要進行更改ExtendedDocument子類,應該怎樣改?)

非常感謝。

回答

1

試試這個:

class User < CouchRest::ExtendedDocument 

    property :username 
    property :password 
    property :realname 
    property :role 
    property :rights 

    view_by :role 

end 

在這裏,我假設 '管理員' 的角色屬性。這將在設計文檔中按角色進行查看。然後,把所有「管理」的文件,你只要做到以下幾點:

@admins = User.by_role(:key => 'admin') 

事實上,如果文檔的實際ID爲「管理員」,那麼所有你需要做的是這樣的:

@admin = User.get('admin') 

,或者:

@admin = User.all(:key => 'admin') 

我也建議考慮看看CouchRest型號,這基本上是一個主動型的投訴擴展CouchRest如果你正在使用這個使用Rails。祝你好運!

+0

謝謝。看來我的問題是,我正在接近這個目的,以便在蒲團中設計數據庫模式,然後使用CouchRest擴展文檔類訪問它。這當然完全是回到前面。通過遵循你的例子(並且使用.create!首先將一個對象存儲在數據庫中),我已經掌握了它的工作原理。 – Leynos 2011-02-04 03:45:53