ArangoDB“知道”集合中存在哪些属性吗?(形状数据)

mspsb9vt  于 12个月前  发布在  Go
关注(0)|答案(1)|浏览(105)

这里有一个如何对文档进行采样并确定其结构的方法:
https://github.com/arangodb/docs/blob/2c842774b457114c571abdaa8391a038715d1458/3.3/cookbook/accessing-shapes-data.md
据说,你不能查询内部形状数据。但是检查一些文档只能大致了解使用了哪些属性键,否则必须扫描整个集合。
所以我的问题是数据库是否在内部某处存储了哪些属性?至少对于一般的属性?
如果是,为什么不能查询该数据?这将比输出大致相同信息的用户定义函数有效得多。
如果一个人能“免费”发现方案,那就太好了:
http://som-research.uoc.edu/tools/jsonDiscoverer/#/

fd3cxomn

fd3cxomn1#

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

  • 属性名称全局存储,但嵌套属性名称单独存储(例如:user.name将存储为username)。从纯粹的独立属性名称部分来看,ArangoDB将不知道它们在数据中的组合
  • 每当在集合中首次使用属性名称时,存储属性名称。目前,ArangoDB不会跟踪何时不再使用属性。然后属性名称将仍然存在于属性列表中

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

相关问题