ArangoDB是一款多模DB,拥有灵活的查询语言AQL(ArangoDB Query Language)。在AQL中,可以对数组进行很灵活的操作,包括对深度数组元素进行查询。例如,查询包含特定值的元素,以及查询在给定位置处的元素等。
以下是使用AQL进行深度数组扫描的示例代码:
FOR doc IN collection
FILTER doc.array[*][*] ALL == "value"
RETURN doc
此代码将从名为“collection”的集合中搜索所有包含值“value”的深度数组,并返回包含这些数组的文档。
请注意,此示例中,[*][*]
用于检查扁平数组中的所有元素是否等于特定值。如果要检查嵌套数组中的元素,请使用类似[*][*][*]
的表达式。
在使用AQL时,请确保正确指定了索引,以避免扫描大量数据导致查询性能下降。