在 ArangoDB 中,可以使用 AQL 查询语言中的数组函数来查询数组数据。比如,想要查询一个数组中包含某个值的文档,可以使用 IN_ARRAY() 函数。以下是一个示例:
FOR doc IN collection
FILTER IN_ARRAY("desired-value", doc.someArrayField)
RETURN doc
其中,collection 表示文档所在的集合,someArrayField 表示要查询的数组字段。如果查询到了符合条件的文档,就会返回 doc 对象。
除了 IN_ARRAY(),还有许多其他的数组函数可以使用,如 ANY、ALL、NONE 等。使用这些函数可以完成更加复杂的数组操作和查询。
需要注意的是,如果要查询一个子数组,可以使用 subarray() 函数。例如:
FOR doc IN collection
FILTER SUBARRAY(doc.someArrayField, startIndex, count) == [1, 2, 3]
RETURN doc
其中,startIndex 表示子数组的起始位置,count 表示子数组的长度。这个查询语句会返回包含指定子数组的文档。
上一篇:arangodb数据定义执行问题