過濾 GAE 查詢
嘗試過濾 GAE 查詢時,如果過濾器無效,則會出現常見問題。要解決此問題,必須了解 Query.Filter() 方法的運作方式。
Query.Filter() 方法傳回包含指定篩選器的衍生查詢。然而,將返回值分配給新變數以保留過濾器至關重要:
或者,新的過濾可以在一行中實現:
不帶此步驟中,執行的查詢將沒有篩選器,從而檢索所有已儲存的「員工」實體。因此,「Joe Citizen」可能是第一個列印的實體。
此外,必須考慮最終一致性。執行Put()操作後,由於使用了開發SDK,後續查詢可能無法立即看到預期結果。為了緩解這個問題,可以在執行查詢之前引入time.Sleep():
在生產中,可以透過使用以下選項建立上下文來模擬強一致性:
但是,需要注意的是,應使用祖先密鑰來獲得生產中的高度一致的結果。
以上是為什麼我的 Google App Engine 資料儲存區查詢無法正確過濾?的詳細內容。更多資訊請關注PHP中文網其他相關文章!