プロジェクトの1つでcouchdb.mappingを使用しています。必要なすべてのフィールドを含むSupportCase
派生元というクラスがあります。Document
私のデータベース(と呼ばれるadmin
)には、複数のドキュメントタイプが含まれています。type
すべてのドキュメントに、それらを区別するために使用するフィールドがあります。"case"
ビューを使用して取得したいタイプのドキュメントがたくさんあります。support
と呼ばれるその中のビューで呼ばれる設計ドキュメントがありますcases
。を使用してこのビューの結果を要求すると、必要なものが含まれているのdb.view("support/cases)
リストが返さRow
れます。
SupportCase
ただし、1つの関数を呼び出して、システム内のすべてのリストを取得できるように、これをクラスでラップする必要がSupportCase
あります。ViewField
プロパティを作成しました
@ViewField.define('cases')
def all(self, doc):
if doc.get("type","") == "case":
yield doc["_id"], doc
さて、電話するとSupportCase.all(db)
、すべてのケースが返されます。
私が理解していないのは、このビューが事前に計算されてデータベースに保存されているのか、またはと同様にオンデマンドで実行されているのかということdb.query
です。後者の場合は遅くなるので、事前に計算されたビューを使用したいと思います。それ、どうやったら出来るの?