我一直在閱讀關於CouchDB的更多信息,並且非常喜歡它(master:master replication是我想要使用它的主要原因之一)。CouchDB - 如何基於最終用戶輸入創建動態設計文檔
但是,我有一個查詢問你們...我從PHP的凸輪,並經常使用Drupal CMS。我最喜歡的一個(可能是整個drupal社區)是MerlinOfChaos編寫的'Views'插件。這個想法是,管理員可以使用視圖ui系統,從數據庫中創建一個動態的內容流。該內容可以來自任何內容類型(博客文章,文章,用戶,圖像等),並且可以被過濾,排序,以網格排列,等等。一個簡單的例子是爲動畫滑塊創建內容來源。管理員可以隨時進入並更改其中顯示的內容。雖然通常我會將其設置爲內容類型X的最近5個。
因此,對於像mongo這樣的東西,我可以看看如何做到這一點。一個相當先進的解析器,然後將管理員想要的內容轉換爲數據庫查詢。由於mongo都基於動態查詢,因此非常可行。不過,我想用沙發。
我已經看到,我可以創建一個視圖,它需要一個參數,並將返回基於該參數的結果(例如,您要顯示的5個文章ID的參數)。但是如果我想能夠從UI中構建更高級的東西呢?我會添加更多的參數嗎?例如,假設創建的視圖選擇值爲'contentType'='post'且參數爲id /頁面標題的所有文檔。但是如果我希望最終用戶也能夠選擇視圖查詢的內容類型。或者最近的5篇文章,只要內容類型是3個不同的值之一?
這使我想到的另一件事是,一旦像這樣的視圖被創建並保存到數據庫中,並且第一次調用它,它就花費時間來創建結果。你會在生產/現場系統上做到這一點嗎?
部分原因是我希望最終用戶能夠根據網站上的文章和帖子在其個人資料頁面上創建內容的自定義提要。並能夠過濾它們並製作他們自己的類別,這樣可以說出來並給它們加上標籤。如他們的'技術'飼料,和他們的'食物'飼料。
我還是新來的沙發,還有閱讀要做。但是,這是一個buggins我,我正在試圖包裹我的頭。由於我想到的產品將根據最終用戶的輸入而動態變化。
應用程序本身將用Python編寫的
我會非常關心一個系統的性能,該系統可能有數百或數千個設計文檔/視圖,每個系統最終都會針對數據庫的每次更新運行。 – WiredPrairie 2013-03-28 11:06:25
是的,這是重點,我不想要所有這些。所以我想弄清楚如何有效地做到這一點。 – skift 2013-03-28 17:32:13