我应该如何在Flask中正确使用CouchDBs视图

时间:2013-04-09 16:05:48

标签: python flask couchdb couchdb-python

我正在使用Flask和CouchDB。我已将文件文档映射到文件对象。

class File(Document):
   name = TextField()
   conten = TextField()

在我的Flask蓝图中,我想要返回所有文件。我怎么做。我知道我写了一个像这样的观点:

function(doc) {
   if(doc.type == 'file') {
      emit(doc_id, doc)
   }
}

但我在哪里提出这段代码呢?在我的File对象中?我是否要将此视图定义添加到CouchDBManager?或者我应该使用query函数吗?

1 个答案:

答案 0 :(得分:0)

请勿使用查询功能,即仅用于临时视图,即不用于生产用途。相反,您应该创建ViewDefinition类的对象,并将该对象传递给CouchDBManager.add_viewdef方法。有关详细信息,请参阅http://pythonhosted.org/Flask-CouchDB/#writing-views

或者,您可以直接使用CouchDB http界面上传设计文档。由于您只需要创建一次视图,这仍然是可行的。实际上,您可以在http://localhost:5984/_utils上打开蒲团,并在数据库中创建包含该视图的设计文档。有关http://guide.couchdb.org/draft/design.html上的更多信息。