[英]Return statement not working with User defined functions in Arangodb? How to write an AQl query inside a function?
require("@arangodb/aql/functions").register(
"MYFUNCTIONS::VERTEX::INDEGREE",
function(vertex,edge, node) {
"use strict";
AQL_Query(
(return( "for t in Transaction collect vertex_count=t._from with into n return x"))
)
}
);
throws the following exception引发以下异常
JavaScript exception: SyntaxError: Unexpected token 'return'
!require("@arangodb/aql/functions").register("MYFUNCTIONS::VERTEX::INDEGREE", function(vertex,edge, node) {"use strict"; AQL_Query((return( "for t in Transaction collect vertex_count=t._from with into n return x")))});
! ^^^^^^
stacktrace: SyntaxError: Unexpected token 'return'
Use the aql
template string handler to assamble the query, something like this should get you started:使用
aql
模板字符串处理程序来组合查询,这样的事情应该让你开始:
require("@arangodb/aql/functions").register(
"MYFUNCTIONS::VERTEX::INDEGREE",
function(vertex,edge, node) {
"use strict";
let db = require('@arangodb').db;
let aql = require('@arangodb').aql;
let query = aql`
for t in Transaction
collect vertex_count=t._from with into n
return n
`;
return db._query(query).toArray();
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.