javascript - 使用 $http 在 AngularJS 中执行 AQL

标签 javascript angularjs arangodb

我正在 ArangoDB 中使用 FOXX 作为后端,并且我已经在使用用 AngularJS 制作的页面。我使用 $http 进行请求,效果很好,但现在我需要进行复杂的查询。

我想知道是否可以使用 $http 在 AngularJS 页面中使用 Arango 查询语言执行查询。

最佳答案

由于 $http 只是一个用于发出 AJAX 请求的 API,因此您只需使用 HTTP AQL API:https://docs.arangodb.com/3.0/HTTP/AqlQueryCursor/QueryResults.html

$http.post('http://localhost:8529/_api/cursor', {
  query: `
    FOR doc IN collection
    FILTER doc.color = @color
    RETURN doc
  `,
  bindVars: {color: 'blue'}
})
.then(successCallback);

如果您想要更好的东西,您可以使用 arangojs 中的 aql 模板字符串处理程序。模块(提供 ArangoDB JS 驱动程序):

var aql = arangojs.aql;
var color = 'blue';
$http.post('http://localhost:8529/_api/cursor', aql`
  FOR doc IN collection
  FILTER doc.color = ${color}
  RETURN doc
`)
.then(successCallback);

您也可以直接使用 arangojs 库,但请记住,$http 还具有使 AngularJS 注意到异步状态更改所需的魔力。如果您想直接使用 arangojs,则必须确保手动调用 $scope.$apply()

关于javascript - 使用 $http 在 AngularJS 中执行 AQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37983775/

相关文章:

arangodb - 在 AQL 中如何重新设置顶点的父级

arangodb - 在单个 AQL 查询中插入并返回文档

javascript - 为什么我不能将 IIFE 与 "this"一起使用?

javascript - jQuery - 变量范围问题

javascript - AngularJS - ng-repeat array with string index

javascript - 以惯用方式组织 javascript webdriver Promise 代码

javascript - 在 JavaScript 中访问和存储数据集

javascript - Windows 商店应用程序 - jQuery 错误

javascript - 使用 moment js 创建一个包含星期几和一天中几小时的数组?

arangodb - 如何启动 Arango 3.1.8 集群,其中节点使用 arangod.conf 文件充当多个角色