2014-02-26 18 views
0

我試圖使用文檔映射爲班組長蟒CouchDB的LIB 但我發現的文檔非常不足如何使用文檔映射類的ViewField將來自python couchdb的視圖同步到我的設計文檔?

它包含的代碼如何定義你的使用 文檔子視圖的幾行但這些不會與COuchDB設計文檔同步。 我曾嘗試使用CouchDB設計文檔中的相同代碼(通過蒲團)和我的python類中編寫相同的視圖,但這不會使它們同步。 我能夠得到在其他圖書館工作的意見,如沙發查詢 所以它不是視圖本身,這是問題 他們工作在JavaScript或Python 不幸的是我已經承諾使用DOcument子類包括我想要的功能與我的Document子類關聯。我已經找到了如何在未通過variuos字段類型在這裏提供的映射使用直文檔類的意見,CouchDB的同步其它好消息: Recommended approach for loading CouchDB design documents in Python? 這裏: http://markhaase.com/2012/06/23/couchdb-views-in-python/ 但是他們是沒有文件要如何找到這個作品使用映射文檔的子類

我使用的文檔描述的兩種形式:

class Person(Document): 
...  name = TextField() 
...  age = IntegerField() 
...  by_name = ViewField('people', '''\ 
...   function(doc) { 
...    emit(doc.name, doc); 
...   }''') 

和:

class Person(Document): 
...  name = TextField() 
...  age = IntegerField() 
... 
...  @ViewField.define('people') 
...  def by_name(doc): 
...   yield doc['name'], doc (for Python views): 

視圖時把它叫做失敗,它立即obviuos原因: 檢查被褥表明的觀點是不是在設計文檔

如果我通過各種創建在設計文檔視圖指視圖的作品,但它不是連接到我的文檔子類(本例中的Person類)。

我猜我希望這是要感覺很多更輕鬆的 我已經使用,雖然長沙發查詢得到的查看結果,並嘗試gerrymander在單獨的庫蟒蛇CouchDB的 這些對象到我的文檔的子類但這似乎非常絕望和骯髒,我甚至無法輕鬆地訪問沙發查詢中的字典信息。 讓我知道是否有人能告訴我這是如何工作的。我懷疑有一個簡單的答案,完全缺失的文檔或否則沒有人會寫文檔映射功能

回答

0

任何人想解決這些問題,爲社區的利益,歡迎, 我的答案是繼續前進到CouchDBKit庫,我建議其他人也這樣做。 與couchdb-python有很多相似之處,包括我想要的映射功能,但是它有一個更好的維護庫,包括下降文檔,簡單強大的體系結構,與Django和FormAlchemy的一些很好的集成以及一些像CouchDB和文件系統和數據庫更改監聽器。對於我的purishes沒有任何couchdb-python有couchdbkit沒有。