Javascript arangoDB 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

我最近为一个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 `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&&':'}条件
很抱歉,我是这个网站的创始人,谢谢你的帮助