【AQL教程3】AQL中的绑定参数点击此标题看全文
绑定参数允许您将查询逻辑与查询中使用的字面值分离,并安全地使用用户提供的输入作为这些占位符。
将查询文本与字面值分开是一个好习惯,因为它可以防止(恶意)注入关键字和其他集合名称到现有查询中。这种注入可能是危险的,因为它可能改变现有查询的含义。
使用绑定参数,无法改变现有查询的含义。绑定参数可以在查询中的任何位置使用字面值可以使用的地方。这使得您可以将字面值转换为一种变量,以便重复使用相同的查询进行不同的参数化。
语法
绑定参数的一般语法是@name
,其中@
表示这是一个值绑定参数,name
是实际的参数名。它可以用于替换查询中的值。
RETURN @value
对于集合,语法略有不同,是@@coll
,其中@@
表示这是一个集合绑定参数,coll
是参数名。
FOR doc IN @@coll
RETURN doc
不能将关键字和其他语言结构替换为绑定值,例如FOR、FILTER、IN、INBOUND