如何使用CouchRest Ruby Gem从CouchDB视图中检索对象

时间:2011-02-03 01:02:00

标签: ruby couchdb couchrest

假设我的CouchDB中有一个名为“user / all”的视图和一个CouchRest ExtendedDocument,如下所示:

class User < CouchRest::ExtendedDocument

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

end

如何使用此ExtendedDocument从此视图中检索关键字“admin”的文档?

(如果我需要对ExtendedDocument子类进行更改,应该更改什么?)

非常感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

class User < CouchRest::ExtendedDocument

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

  view_by :role 

end

在这里,我假设'admin'是一个角色属性。这将使您的设计文档中的视图由角色键入。然后,要获取所有“管理员”文档,您只需执行以下操作:

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

如果实际上文档的实际ID是“admin”,那么您只需要这样做:

@admin = User.get('admin') 

或者,或者:

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

我还建议看一下CouchRest模型,如果你在Rails中使用它,它基本上是CouchRest的Active Model投诉扩展。祝你好运!