我在我的一个项目中使用了couchdb.mapping。我有一个名为SupportCase
派生的类,Document
它包含我想要的所有字段。
我的数据库(称为admin
)包含多种文档类型。我type
在所有文档中都有一个字段,用于区分它们。我有许多类型的文档"case"
,我想使用视图来获取它们。我有一个设计文档support
,里面有一个名为cases
. 如果我使用 请求此视图的结果db.view("support/cases)
,我会返回一个Row
包含我想要的 s 的列表。
但是,我想以某种方式将其包装在SupportCase
类中,以便我可以调用单个函数并获取SupportCase
系统中所有 s 的列表。我创建了一个ViewField
属性
@ViewField.define('cases')
def all(self, doc):
if doc.get("type","") == "case":
yield doc["_id"], doc
现在,如果我打电话SupportCase.all(db)
,我会收回所有案件。
我不明白的是这个视图是预先计算并存储在数据库中还是按需完成的,类似于db.query
. 如果是后者,它会很慢,我想使用预先计算的视图。我怎么做?