1
我知道我可以使用couchdb.ViewDefinition爲數據庫創建一個視圖。是否有類似的東西來創建更改過濾器函數,或者我可以使用filters字段創建一個設計文檔?如何用python在couchdb中添加過濾器函數?
我知道我可以使用couchdb.ViewDefinition爲數據庫創建一個視圖。是否有類似的東西來創建更改過濾器函數,或者我可以使用filters字段創建一個設計文檔?如何用python在couchdb中添加過濾器函數?
目前沒有這樣的東西,除非您將設計文檔作爲例行的例子來操作,例如,將python函數轉儲到源代碼並將其分配給ddoc過濾器字段。
您可以嘗試應用issue 186的補丁:它以視圖當前的方式爲定義show/list/update/filter/validate_doc_update函數提供支持。
例如:
from couchdb import design, mapping
class Post(mapping.Document):
by_author = design.FilterFunction('posts', 'by_name', '''
function(doc, req){
if (req.query.author){
return doc.author === req.query.author;
}
throw({'invalid_query': 'author name was not specified'});
}
''')
if __name__ == '__main__:
design.sync_docs(db, [Post])
反饋和錯誤都歡迎(:
我使用在生產server.Do CouchDB的你認爲是足夠穩定,使用它,或者我應該使用常規的創建文件的方式? – vkefallinos 2013-04-10 10:30:48
不確定,所以我想建議你在生產環境中應用之前先測試它。爲了更好地使用ddocs和常規文檔一起工作,甚至切換到[couchapp](https:// pypi.python.org/pypi/Couchapp)或[erica](https://github.com/benoitc/erica)工具w ith ddocs。 – Kxepal 2013-04-10 14:28:24