sum() 等聚合函数的语法到底是什么?
例如,采用以下结构:
let json = {
"ages": {
"age": [
"20",
"30",
"40"
]
}
}
然后
for age in json.ages.age return age
返回
["20", "30", "40"]
以下所有片段在 Arango 2.0.4 中返回“[1542] 在调用函数 'SUM()' 时使用的无效参数类型”:
// LR
let ages = (for age in json.ages.age return age)
return sum(ages)
// LR
let ages = (
for age in json.ages.age
return age
)
return sum((for age in json.ages.age return age))
// R
return sum((for age in json.ages.age return age))
什么是正确的语法?
语法页面 ( http://www.arangodb.org/manuals/current/Aql.html#AqlFunctionsList ) 似乎没有任何相关示例。
我能找到的最接近语法示例的是:https ://www.arangodb.org/foxx
controller.get("/revenue/:year", function (req, res) {
var query = "RETURN SUM((FOR bill IN billcollection FILTER bill.year == @year RETURN bill.amount))";
var stmt = db._createStatement({ "query": query});
stmt.bind("year",parseInt(req.params("year"),10));
var c = stmt.execute();
res.json(c);
});
但似乎上面的语法对我来说是失败的。
任何地方都有更详细的语法参考吗?