诸如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); });
但是似乎上面的语法对我来说是失败的。
在任何地方都有更详细的语法参考吗?
诸如sum()之类的聚合函数的语法到底是什么?例如,采用以下结构:let json = {“ ages”:{“ age”:[“ 20”,“ 30”,“ 40”]}}和...
您的方法是正确的,但是您错过了文档中的一个小地方。 ;)