过滤查询结果

时间:2015-05-05 07:25:37

标签: erlang chicagoboss

我正在使用boss_dberlangchicagoboss。 AFAIK,我们应该总是尝试使用最少数量的数据库查询。 现在,我正在为一个结果做两个单独的查询。我认为可以在一个查询中完成,但不知道如何。

查询1

ActiveUserList = boss_db:find(user,
                             [{status, 'equals', active},{cid, 'equals', Cid}]).

QUERY2

ActiveLegalUserList = boss_db:find(user, 
     [{status, 'equals', active},{cid, 'equals', Cid},{legal, 'equals', true}]).

有没有办法在一个查询中实现这一点? 喜欢:

ActiveLegalUserList = ActiveUserList:filter({legal, 'equals', true}).

1 个答案:

答案 0 :(得分:1)

尝试lists:filter()

 ActiveLegalUserList = lists:filter(fun(User) -> 
                           User:legal() == true end, 
                       ActiveUserList).