2013-10-21 17 views
0

所以對於我的文檔,我有一個定義它們類型屬性。而幾乎所有這些「類型」中,我必須有一個叫「按類型得到」 ..CouchDB的「度日型」視圖設計

現在的問題是這些設計的一個更有效;

  • 有與映射的所有文件

  • 對每個「類型」,只是映射這些類型視圖的「類型」的一個關鍵的單一視圖,我可以查詢查看獲取視圖中的所有文檔?

回答

1

這取決於從你有多少「種」在你的數據庫。如果很少 - 按照「按類型查看」的方法,你會很好,並有更好的API網址。

但是,當您在單個數據庫中有大約70種類型(我的大小寫)的文檔時,它會太不知道這種方法不再有效,並且您需要一個視圖按類型過濾文檔 - 你永遠不會忘記爲新的文檔類型添加你的特殊視圖,你不需要清理過時的視圖。作爲附加功能,擁有單一視圖允許您使用單個請求檢索多種類型的文檔,並且只有一個複製任務可在數據庫之間同步多種類型的文檔。對於每個或大部分文檔都常見的其他字段(例如author,updated_at等)也是如此。

最終決定是你的,但最好採取將釋放你額外的工作和一個額外的查詢參數是不是有放鬆更高成本的方式。

+0

我只是有幾個類型,因此它從來就不是一個問題。另外我真的很喜歡讓他們在蒲團的意見下拉列表中。但是你是對的,應該考慮不同類型的數量。 – Locohost

1

我認爲後者是最好的。爲每種類型查詢/過濾該特定類型的視圖。這使您可以從蒲團視圖下拉菜單中快速顯示特定類型文檔的列表。幾乎就像你在看「桌子」。但沒有真正;-)