0

我正在使用 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)*/

这是我尝试过的,但似乎不起作用。

4

1 回答 1

0

列出您在需求上使用的所有实体和相应的外键。并提供要在每个实体上使用的谓词(用于“where”)。它有助于提供正确的答案。

于 2021-08-04T06:44:59.760 回答