require("@arangodb/aql/functions").register(
"MYFUNCTIONS::VERTEX::INDEGREE",
function(vertex,edge, node) {
"use strict";
AQL_Query(
(return( "for t in Transaction collect vertex_count=t._from with into n return x"))
)
我不知道是否可以在Foxx脚本中调用AQL上设置的ArangoDb查询--就像存储过程可以被RDMS的服务调用一样。
到目前为止,我看到的所有示例都显示了嵌入到Foxx服务JavaScript中的AQL。
const result = db._query([name of query defined in Db], {
"@arg": arg-value
}).toArray();
我期望定义在ArangoDb上的查询运行并传递来自Foxx服务的参数值。但是_query方法似乎只接受查询字符串。
我有一个关于arangodb中事务的问题,如果我在AQL查询下运行,它将作为一个事务执行还是会被分成两个事务?我的后台是php:
LET r1 = (FOR u IN Users UPDATE u WITH { status: "inactive" } IN Users)
LET r2 = (FOR b IN Blogs UPDATE b WITH { status: "inactive" } IN Blogs)
RETURN true
目前我使用的是arangodb文档建议的事务(使用javascript代码),但如果可以使用AQL query,我更愿意从ph
我正在创建一个Node.js应用程序,它使用ArangoDB作为数据存储。基本上,我所拥有的数据结构是两个表,一个用于管理所谓的instances,另一个用于entities。我要做的是:
instances集合中为我拥有的每个instance都有一个文档。
每当我向entities集合添加实体时,我也希望跟踪属于特定实例的实体。
因此,每个instance文档都有一个用于entities的数组字段,我将实体的ID推入该数组中。
以下代码显示了总体大纲:
// Connect to ArangoDB.
db = new Database(...);
db.useBasicA
当我查询时,我一直得到“期望非零值. ErrorNumber: 17 HttpStatusCode: 400”。我试图尽可能接近实现它:
示例:
[Test]
public void CanQueryDB()
{
using (var db = new ArangoDatabase("http://localhost:8529", database: "test"))
{
var exDb = db.ListDatabases();
if (exDb.Cont
所以我这里有一个ArangoDB查询,但它在执行时抛出了一个错误。它显示语法错误,然后又说错误在adminEdge._from附近,但我找不到问题所在: let query = aql`
FOR user IN ${users}
FILTER user._key == ${body.userKey}
FOR adminEdge IN ${administrates}
FILTER adminEdge._from == user._id
LIMIT 1
RETURN { accountId: adminEdge._to, user }`; users和administr
在用户定义的函数中可以使用标准的AQL函数吗?
我试图在自定义函数中调用IS_IN_POLYGON(),并在执行时获得了此错误:
Query: AQL: in function 'GEO::IS_IN_MULTIPOLYGON()': user function runtime error: ReferenceError: IS_IN_POLYGON is not defined at (…)
是否有任何应该用来访问标准AQL函数的前缀/需要量()/任何东西?
ArangoDB版本: 3.2.4
引擎: RocksDB
我刚刚从arangoDB github 1.1特性请求中看到了这个问题:在唯一的约束条件下,异常包括涉及#342 ()的it或键,因为这正是我正在搜索的内容。显然,这个问题已经关闭,因为它已经在ArangoDB 3.2中实现了,但是我没有找到从唯一的约束违反错误中检索id或键的方法。
例如,我使用"projectName“属性上的哈希索引对集合调用以下AQL查询。
# first insert - everything OK
INSERT {"projectName":"test","startDate":"now"} I
有没有一种方法可以在不知道顶点ids的情况下用ArangoDB创建带有REST API的边?使用查询来查找顶点并将它们链接起来?
与OrientDB类似: create edge使用from (select from Module where name = 'm2') to (select from Project where name = 'p1')
我不想在创建边之前和之后通过REST查询两个顶点。我也不想用Foxx。
也许可以使用AQL?
谢谢。
ArangoDB3-3.7.2_win64 arangodbJavaDriver=6.7.5 假设集合有100多个文档,下面的AQL查询使用AqlQueryOptions().fullCount(true)通过Java驱动程序返回stats.fullCount中的期望值: FOR a IN SomeCollection FILTER a.field = @p1 SORT a.field ASC LIMIT 0,100 RETURN a 但使用IN运算符的类似查询中,stats.fullCount的值意外为100: FOR a IN SomeCollection FILTER a.field
我在ArangoDB AQL中有这样的要求:我有一个用文档集合创建的图,用于节点的边集合和用于有向边关系的边集合。
我希望输入节点列表的一个子集作为AQL查询的输入,并获得所有节点遍历的/sub图作为输出。
如何在AQL中实现这一点?我想通过这种方式知道给定节点之间的关系。如果需要更多详细信息,请发表意见。
我现在知道下面的查询
FOR v IN 1..1 INBOUND[or OUTBOUND] 'Collection/_key' EdgeCollection
OPTIONS {bfs: true}
RETURN v
我目前正在将一个遍历函数从aql 2迁移到arangoDB 3。arangoDB有一个自定义的叶访问器和一个带有自定义arangoDB函数的filterVertices选项(用于更具体的过滤)。
FOR result IN TRAVERSAL(
page,
menu,
"page/99999999999999",
"inbound",
{filterVertices : "udf::customFilter", visitor : "udf::customVisitor", }
) R
我试图让所有的文件更新在aql,但它似乎不起作用。
test -> {value:0}
FOR record in test
UPDATE record with {value:1} in test
RETURN NEW
我得到了[1501] syntax error, unexpected RETURN declaration near 'RETURN NEW' at position 3:5 (while parsing)
Arangodb版本2.5.5
我试图使用下面的AQL查询检索比某些时间戳更新的文档。字段date存储为2015-01-28T15:39:00.503Z之类的ISO字符串。是否有其他适当的数据类型可以在ArangoDB中存储日期?
for m in messages filter m.date > "2015-01-28T00:00:00" return m
编辑:
根据,ArangoDB不支持任何类型的日期。他们建议ISO字符串比较是可行的方法。有人能证实吗?
1.)是否可以在LINQ中执行DISTINCT查询?像下面的AQL查询的等价物吗?
FOR cfg IN test_configuration
FOR method IN inspection_method
FILTER cfg.inspection_method_id == method._id
SORT method.name
RETURN DISTINCT method
2.)可以做"LET doc = DOCUMENT(some._id)“吗?我尝试了下面的查询,但是得到了一个关于文档不被支持的异常。
from user
据我所知,ArangoDB 3.1现在支持将日期类型作为其新的内部存储格式VelocyPack的一部分。我应该如何在AQL查询中使用日期类型的字段(例如过滤器)?看起来文档还没有更新日期类型字段:
有人能提供AQL查询示例吗?有点像
FOR p IN person FILTER p.birthday == '2016-11-04' RETURN p
字段p.birthday的日期类型在哪里?
是否存在使用AQL从集合中随机返回文档的方法?
我想为测试目的创建一个随机图。我还没有弄清楚如何从集合中随机选择文档。
我希望我能做这样的事:
db._query('RETURN nodes[RAND(0..LENGTH(nodes))]').toArray()
JavaScript exception in file '/usr/share/arangodb/js/client/modules/org/arangodb/arangosh.js' at 104,11: [ArangoError 1541: invalid number of arguments
我有一条Foxx路径,如下所示
const aql = require('@arangodb').aql;
route.get('ABC'){function(req,res){
//Do some stuffs
var AnArray1=req.queryParams.AnArray1||[DefaulArray]
var AnArray2=req.queryParams.AnArray2||[DefaulArray]
//Turn them into segment to put into AQL
var se