我正在使用boss_db
与erlang
和chicagoboss
。 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}).
答案 0 :(得分:1)
尝试lists:filter()
ActiveLegalUserList = lists:filter(fun(User) ->
User:legal() == true end,
ActiveUserList).