我最近为一个bbs应用程序工作,当我使用aql时,我遇到了一个问题,例如:
//params:.com/t/123?&digest=true
=>
FOR t IN threads
FILTER t.digest == true && some conditions
RETURN t
,结果如预期,但当参数“消化”时是未定义或错误,我希望它返回所有的线程..不是哪个'消化' = false,所以我必须使用if ... else来编写两个几乎相同的代码,只需删除条件&t; t.digest == true'例如:
if(params.digest) {
return `digest == true && conditions`
}
return `conditions`
我正在使用javascript,请给我一个方向......
答案 0 :(得分:0)
您可以使用函数HAS(document, attributeName)
来检查文档中是否存在该属性。
FOR t IN threads
FILTER (!HAS(t,"digest") || i.digest == true) && conditions
RETURN t