我正在使用Parse iOS SDK。我想根据用户指定的年龄范围过滤。
我有两个表:
1st, tableuser 具有标题为birthdate
的字段,带有String
数据类型。
2nd, TableSettings 具有两个字段minAge
和maxAge
,这两个字段均为Number
类型
我想从tableUser
类中获取用户,该类别的年龄是根据出生日期领域计算出来的,属于tableSettings
类指定的年龄范围。例如,如果minAge
值为20,而maxAge
值为25,那么我只想检索在此范围之间年龄的用户。
这可能吗?我将如何进行此类查询?
您的需求听起来并不平淡,而这种次优数据结构。我可能会选择云代码以隐藏应用程序所需的逻辑。该逻辑将是查询tableSettings
并计算适用的日期范围。
现在您有了此范围,它仍然很难使用,因为您的另一个表使用日期的字符串表示形式,而不是真正的Date
类型。这真的很糟糕。如果可以的话,您应该将日期更改为正确的类型,或者至少添加另一列具有正确表示日期的代表(但是您必须将它们保持同步)。
与日期合作,您可以在查询中添加特定的范围标准,生活很容易。
使用字符串的工作更加困难,因为您首先有一天,因此您甚至不能使用BEGINSWITH
来过滤查询,然后处理内容。这确实是一个可怕的数据模型。因此,这基本上使您在所有执行弦的明确转换为日期的所有内容中进行分页,然后将其与范围进行比较。
如果您完全可以更改数据模型。即使您专门为此数据创建新类(表)并使用afterSave
挂钩将它们保持同步。