我正在 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/