我无法确定是否可以在Foxx脚本中调用在ArangoDb Web UI上设置的AQL查询-就像RDMS的服务可以调用存储过程一样。
到目前为止,我所看到的所有示例都显示了嵌入到Foxx服务JavaScript中的AQL。
'values' => [
'params.fee_status' => [
'pay' => 'default'
],
],
我希望ArangoDb上定义的查询能够运行并从Foxx服务传递参数值。但是_query方法似乎只接受查询字符串。
答案 0 :(得分:0)
查询存储为用户的属性,因此可以通过users
-API:
var _ = require("lodash"); // helper to group the queries
var users = require('@arangodb/users');
var myQueries = _.groupBy(users.document(users.currentUser())['extra']['queries'], 'name');
const result = db._query(myQueries['name of query defined in Db'], ...);
lodash默认情况下可用,无需安装。
这在任何地方都没有明确记录-我查看了查询编辑器的网络流量,以在用户的“额外/查询”下查找查询;而不是我搜索了js用户API,并找到了有关“用户管理”的文章。我要说的是,缺乏文档证明是明显的“空洞的买主”,它可能会更改,恕不另行通知;但这应该可以帮助您。
另外,想一想,我仅在arangosh
中测试了此内容,而不是foxx应用程序-也许该用户模块在那里不可用。如果可行,您可能必须用用户名字符串替换users.currentUser()
调用。
鉴于此方法可轻松破坏您的应用程序,因此我不建议在研发和/或原型制作之外使用此方法(如果可行...)