有没有办法使用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 for function 'RAND()', expected number of arguments: minimum: 0, maximum: 0 (while parsing)]
! throw new ArangoError(requestResult);
关于如何做到这一点的任何想法?
答案 0 :(得分:10)
@ yojimbo87是对的。
要从集合中选择随机文档,您可以改为:
FOR node IN nodes
SORT RAND()
LIMIT 1
RETURN node
JavaScript层中的集合对象(arangosh / Foxx)也有一个方法:
var node = db.nodes.any();
答案 1 :(得分:3)
据我所知RAND()
AQL函数不接受任何参数并返回0到1之间的伪随机数,这就是为什么你得到关于无效参数数量的错误。