我正在使用Flask和CouchDB。我已将文件文档映射到文件对象。
class File(Document):
name = TextField()
conten = TextField()
在我的Flask蓝图中,我想要返回所有文件。我怎么做。我知道我写了一个像这样的观点:
function(doc) {
if(doc.type == 'file') {
emit(doc_id, doc)
}
}
但我在哪里提出这段代码呢?在我的File
对象中?我是否要将此视图定义添加到CouchDBManager
?或者我应该使用query函数吗?
答案 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上的更多信息。