我使用CouchDB的存儲數據從各種來源和CouchDB的,Lucene的到來,讓即席查詢。這對我來說很重要,因爲我在Feed中顯示數據,並且希望此Feed可過濾。 CL對此似乎很完美。CouchDB的,Lucene和即席查詢,以驗證的用戶
不過,我也想權限介紹到飼料應用 - 用戶應該只能夠看到一個飼料項目,如果他/她看到它的權限。
現在,我希望能夠運行即席查詢,並且只返回當前已通過身份驗證的用戶有權讀取的供稿項目。
我能弄清楚的唯一解決方案(到目前爲止)是爲每個供應商項目添加一個「權限」字段,我爲其他用戶存儲所有權限(顯然跳過沒有該項目權限的用戶在所有)
permissions: [{user_id: '123', read: true, write: true}, ...]
然後在CL中索引此數組。
雖然這可能會工作,我覺得有種不好被迫窩在飼料項目的權限元......它甚至可能比保持它分開一個更好的解決辦法,但我就是不喜歡我在這裏似乎沒有選擇。
唯一的其他解決方案(除了轉儲CouchDB之外)將運行臨時查詢而不關心權限,然後在服務器上運行第二個查詢,選擇所有「我的項目」並執行設置交叉點。但是這些集合可能很大(如果我將它分塊,它可能需要很多DB請求=>很慢)。
是我的解決方案罰款或者是有什麼好?或者CouchDB不適合這樣的查詢?
乾杯!