我在數據存儲中更新了我的模型,所以現在它有一個附加字段。現在我有實體有和沒有該字段,但我需要將此字段添加到所有尚未擁有它的實體。想法是讓實體在沒有該字段的功能中添加它。那麼,我想知道如何在數據存儲請求中過濾這些實體?檢查實體中是否存在字段
1
A
回答
1
無法財產不存在進行篩選。每個查詢都必須通過索引來滿足,並且沒有缺乏給定屬性的實體的「負指數」。
通常,您需要遍歷所有實體,並忽略已有屬性的實體。
1
它可能不是那麼容易,但我想這是可能的。
你不能沒有屬性來獲取實體:
那場比賽實體缺少物業
這是不可能的查詢那些缺少給定屬性的實體過濾器沒有用的。一種替代方法是創建一個默認值爲None的固定(建模)屬性,然後爲具有無作爲屬性值的實體創建過濾器。
你可以得到特定屬性的所有過濾:
篩選或排序上的屬性要求屬性存在
如果酒店有查詢過濾條件或排序順序,該查詢僅返回那些具有該屬性值(包括空值)的數據存儲實體。 一種實體不需要具有相同的屬性。對屬性的過濾器只能匹配具有該屬性值的實體。如果某個實體對過濾器或排序順序中使用的屬性沒有值,則該實體從爲該查詢構建的索引中省略。
我的建議是從所有的密鑰中獲取密鑰,並從具有該屬性的實體中減去密鑰。
參考: http://code.google.com/intl/en-US/appengine/docs/python/datastore/queries.html#Overview
相關問題
- 1. 如何檢查symfony2窗體中是否存在字段?
- 2. 檢查是否存在字段組合
- 3. 檢查字段值是否存在?
- 4. NumPy的:檢查是否字段存在
- 5. 如何檢查gae數據存儲中是否存在實體?
- 6. 檢查R中是否存在物體
- 7. 最佳實踐 - 檢查實體是否在presist之前存在
- 8. 如何檢查Java中Datastore中是否存在實體?
- 9. 如何檢查SQL子查詢中是否存在字段?
- 10. 如何檢查結構字段中是否存在數字?
- 11. 檢查字段中是否存在字符
- 12. 檢查輸入字段中是否存在空字符串
- 13. 檢查實體是否已經存在於ContextBroker中
- 14. 檢查NHibernate實體是否包含在多個實體中
- 15. 具有@Lob字段的實體是否可在Hibernate中緩存?
- 16. 檢查段落字體樣式是否是斜體?
- 17. 如何在運行時檢查iOS4中是否存在字體
- 18. 如何在MongoDB中檢查字段是否存在?
- 19. 檢查java中是否存在字符
- 20. 是否有命令檢查實體框架中是否存在數據庫?
- 21. 如何在連接之前檢查實體是否存在?
- 22. 如何檢查片段是否存在?
- 23. 使用scapy檢查DNS記錄中是否存在字段
- 24. 如何檢查集合中是否存在字段值
- 25. Javascript - 檢查文本/模板腳本中是否存在字段
- 26. 如何檢查數據庫中是否存在字段?
- 27. 如何檢查逗號分隔字段中是否存在值?
- 28. 檢查表中不同字段值的組合是否存在
- 29. MySQL檢查表中是否存在一組字段
- 30. 檢查表中是否已經存在字段
你的建議只有在你可以在內存中保存所有密鑰的列表時纔有效,而且無論如何都是毫無意義的,因爲很少有實體已經擁有該屬性。正如德魯所說,映射所有實體是一個更好的主意。 –