为ArangoDB的Transaction边集合生成测试数据遇语法错误求助
修正AQL插入测试数据的语法错误
原代码存在多处语法和逻辑问题,逐一修正如下:
错误点分析
- 函数名大小写错误:ArangoDB的随机数函数是
RAND(),不是Rand() - 日期函数调用错误:
DATE_TIMESTAMP是函数,必须加括号执行:DATE_TIMESTAMP() - 无效的三元表达式:未定义变量
u,且三元运算符缺少:后的分支,同时未指定对应的字段名(你需要的是TransferType字段) - 边集合注意事项:如果
Transaction是边集合,必须包含_from和_to字段(关联两个顶点集合的文档ID),否则插入会失败,以下代码假设你已处理顶点关联,或该集合实际为文档集合
修正后的代码
FOR i IN 1..30000 INSERT { _id: CONCAT('Transaction/', i), Amount: RAND() * 10000, // 乘以10000生成有实际意义的金额值,可选调整 Time: DATE_TIMESTAMP(), TransferType: i > 1000 ? "IMPS" : "NEFT" // 按i的范围分配转账类型 } INTO Transaction OPTIONS { ignoreErrors: true }
如果需要随机生成转账类型,可将TransferType行替换为:
TransferType: RAND() > 0.5 ? "IMPS" : "NEFT"
内容的提问来源于stack exchange,提问作者Chaitanya Srinevas
相关产品推荐
相关产品推荐

