0
我有兩個相關的類:讓我們說找到CompositeFilterOperator GAE數據存儲實體的密鑰列表子集
- 產品
- 每個用戶對產品的最終喜歡的標誌(很多用戶可以標記一個產品爲最喜歡的)
當我需要的用戶子集執行過濾喜愛的產品,我覺得我自己有一個問題:對於
爲前沒有API充足:我想在用戶1,具有標籤「運動」和顏色「藍色」
我可以
- 做CompositeFilter上的標籤和色彩標準的產品興田喜愛的產品進行搜索,然後遍歷所有產品(數千),以找到哪些在最愛的ID列表中!哇! :-)
- 找到收藏夾的子集,並執行手動過濾(編程方式,離開數據存儲區API)的所有其他條件。 YESSSS!
- 最後但並非最不重要的:在產品本身(最喜愛的列)中添加一個最喜愛的用戶標識列表,以便每次用戶將產品放入其收藏夾時,所有120個索引寫入都會被重寫。 COOOOL!
好吧我在作弊,有一個解決方案:我可以閱讀最喜歡的實體,然後在查詢中使用id大(id = x1或id = x2或...)發現自己超出查詢大小限制的風險。因此,我應該通過兩個實體處理分頁和間接光標以獲得讀取,以獲得非常簡單的要求...
Soooo是啊...想法?
最好的問候, Zied哈姆迪 http://1vu.fr
喜彼得, 對不起,我沒有回頭的答案:與FilterOperator.IN的問題是,要求對每個製成IN的可能性(這就是爲什麼它被限制爲30)。 您正在描述解決方案(1.)我給了+(使用IN查詢,這在性能和資源消耗方面是不可接受的) –