我在Chicagoboss API中寻找了这个查询,但没有找到任何解决方案来编写"OR“查询。我必须写一个类似这样的查询:
select * from TableName where table.key1 = "XXXX1" OR table.key2 = "XXXX2"这是我的chicagoboss查询,我想检查这三个标志中的任何一个是否为真,然后对继承人执行一些操作。
Heirs = boss_db:find(heir, [{flag1, 'equals', true}, {flag2, 'equals', true},
{flag3, 'equals', true}], [{order_by, code}]).要执行此操作,是否存在类似以下内容:
Heirs = boss_db:find(heir, [{{flag1, 'equals', true}, orelse, {flag2, 'equals', true}, orelse, {flag3, 'equals', true}}], [{order_by, code}]).发布于 2014-07-11 19:31:29
根据documentation和boss_db.erl的源代码,find/3似乎返回了与给定条件的所有匹配的记录。
您应该将an issue on GitHub归档。
存在针对SQL数据库的变通方法(使用未记录的函数boss_db:find_by_sql/3),但对于您可能因为标签而使用的MongoDB则没有变通方法。因此,您必须通过多次调用来获取记录。
发布于 2014-10-29 05:40:58
你可以像这样使用:
Var = case boss_db:find(heir,[{flag1, 'equals', true}]) of
Data -> Data;
[] -> case boss_db:find(heir,[{flag2, 'equals', true}]) of
Data -> Data;
[] -> "no data"
end
end.https://stackoverflow.com/questions/24695560
复制相似问题