我知道ArangoDB允许
custom AQL functions
要在服务器端定义,但是否可以定义在事务期间可以调用的服务器端Javascript函数?
我使用Java驱动程序连接到ArangoDB,ArangoDB通过
sending a Javascript function
作为字符串。
为了避免每次发送一个大而复杂的字符串(我使用的一个事务大约500行长),我宁愿将其存储在服务器端,并更简单地从Java调用。
E、 g.而不是像这样运行:
String action = "function (params) {"
+ "const db = require('@arangodb').db;"
+ "return db._query('FOR i IN test RETURN i._key').toArray();"
+ "}";
String[] keys = arango.db().transaction(action, String[].class, new TransactionOptions());
我想打这样的电话:
String action = "my_function";
String[] keys = arango.db().transaction(action, String[].class, new TransactionOptions());
或:
String action = "function(params) {"
+ "const my_function = require("somefunc");
+ "return my_function(params);
+ "}";
这是否可能实现?