我正在使用 query.make 填充特定区域内的用户列表。最初,我使用 .where 将区域拉入内存,但这效率低下,因为它们数量众多。我想使用 .compare 重写查询以在将区域移动到内存之前对其进行过滤。但是,在原始代码中,我使用 ZoneList() 函数从 Region 实体获取区域列表。我不确定如何使用 .compare 来做到这一点。任何帮助将不胜感激。
原来的:
Users = Query.make(entity.URegn).select().where(\ r -> r.Region.ZoneList.hasMatch(\ o -> o.equals(ZipCode))).toSet()*.User.where(\ u -> u.Credential.Active)
URegn 有一个 Region 外键。
zipUsers = Query.make(entity.UserRegion).join("Region").compare("Region.Zonelist", Equals, polZip).select().toSet()*.User.where(\ u -> u.Credential.Active)*/
这是我尝试过的,但似乎不起作用。