【发布时间】:2016-06-23 06:25:56
【问题描述】:
我正在使用 ArangoDB 中的 FOXX 作为后端,并且我已经在使用由 AngularJS 制作的页面。我正在使用$http 进行请求,效果很好,但现在我需要进行复杂的查询。
我想知道是否可以使用 $http 从 AngularJS 页面中使用 Arango 查询语言执行查询。
【问题讨论】:
标签: javascript angularjs arangodb
我正在使用 ArangoDB 中的 FOXX 作为后端,并且我已经在使用由 AngularJS 制作的页面。我正在使用$http 进行请求,效果很好,但现在我需要进行复杂的查询。
我想知道是否可以使用 $http 从 AngularJS 页面中使用 Arango 查询语言执行查询。
【问题讨论】:
标签: javascript angularjs arangodb
由于$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 模块(提供 ArangoDB JS 驱动程序)的aql 模板字符串处理程序:
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()。
【讨论】:
/_db/yourdb/_api/cursor。