Javascript arangoDB aql能否按条件跳过过滤器?
我最近为一个bbs应用程序工作,当我使用aql时,我遇到了一个问题,例如:Javascript arangoDB aql能否按条件跳过过滤器?,javascript,arangodb,aql,Javascript,Arangodb,Aql,我最近为一个bbs应用程序工作,当我使用aql时,我遇到了一个问题,例如: //params:.com/t/123?&digest=true => FOR t IN threads FILTER t.digest == true && some conditions RETURN t if(params.digest) { return `digest == true && conditions` } return `co
//params:.com/t/123?&digest=true
=>
FOR t IN threads
FILTER t.digest == true && some conditions
RETURN t
if(params.digest) {
return `digest == true && conditions`
}
return `conditions`
结果与预期一样,但当参数“digest”未定义或为false时,我希望它返回所有线程..而不是哪个“digest”=false,因此我必须使用if…否则要编写两个几乎相同的代码,只需删除条件“t.digest==true”,例如:
//params:.com/t/123?&digest=true
=>
FOR t IN threads
FILTER t.digest == true && some conditions
RETURN t
if(params.digest) {
return `digest == true && conditions`
}
return `conditions`
我正在使用javascript,请给我一个方向…您可以使用该函数检查文档中是否存在该属性
FOR t IN threads
FILTER (!HAS(t,"digest") || i.digest == true) && conditions
RETURN t
params是通过url生成的,如果访问者想查看摘要线程=>**params.digest=true**,我会在查询中添加条件t.digest==true,但是如果访问者正常查看,我必须添加类似的代码,我的意思是我想用这样一种方便的方式:params是通过url生成的,如果访问者想查看摘要线程=>**params.digest=true**,我将把条件t.digest==true添加到查询中,但是如果访问者正常查看,我必须添加一个类似的代码,我的意思是我想用这样一种方便的方式:
filter${params.digest?'t.digest==true&&':'}条件
很抱歉,我是这个网站的创始人,谢谢你的帮助