ArangoDB "know" 集合中存在哪些属性? (形状数据)

Does ArangoDB "know" what attributes exist in a collection? (shapes data)

有一个如何对文档进行抽样并确定其结构的方法:
https://docs.arangodb.com/cookbook/AccessingShapesData.html

声明,您不能查询内部形状数据。但是检查某些文档只能近似使用哪些属性键,或者必须扫描整个集合。

所以我的问题是:数据库是否存储内部某处存在的属性?至少对于公共属性?

如果是,为什么无法查询该数据?它比输出大致相同信息的用户定义函数要高效得多。

如果能发现方案就好了"for free":
http://som-research.uoc.edu/tools/jsonDiscoverer/#/

每当一个属性在一个集合中被第一次使用时,ArangoDB 将把它存储在内部的某个地方。这意味着它确实跟踪集合中使用了哪些属性。但是有几个问题:

  • 属性名称全局存储,但嵌套属性名称单独存储(例如:user.name 将存储为 username)。仅从单独的属性名称部分来看,ArangoDB 将不知道它们在数据中使用了哪些组合

  • 只要属性名称首次在集合中使用,就会存储属性名称。当前,ArangoDB 不会跟踪何时不再使用某个属性。属性名称仍然会出现在属性列表中

在这些限制下,可以提供属性列表,但我不确定这会有多大用处。