ArangoDB 如何找到集合中所有文档的公共结构?

8hhllhi2  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(101)

我有一个数组的文档,有或多或少相同的结构。但我需要找到字段,目前在所有的文档。有些像:

{
  "name": "Jow",
  "salary": 7000,
  "age": 25,
  "city": "Mumbai"
},
{
  "name": "Mike",
  "backname": "Brown",
  "sex": "male",
  "city": "Minks",
  "age": 30
},
{
  "name": "Piter",
  "hobby": "footbol",
  "age": 25,
  "location": "USA"
},
{
  "name": "Maria",
  "age": 22,
  "city": "Paris"
},

所有的文档都有nameage。如何用ArangoDB找到它们?

lawou6xi

lawou6xi1#

您可以执行以下操作:

  • 检索每个文档的属性名称
  • 获取这些属性的交集

也就是说

LET attrs = (FOR item IN test RETURN ATTRIBUTES(item, true))
RETURN APPLY("INTERSECTION", attrs)

APPLY是必需的,因此attrs中的每个属性列表都可以作为单独的参数传递给INTERSECTION
文件:

  • 属性:https://www.arangodb.com/docs/stable/aql/functions-document.html#attributes
  • 交叉点:https://www.arangodb.com/docs/stable/aql/functions-array.html#intersection
  • 适用于:https://www.arangodb.com/docs/stable/aql/functions-miscellaneous.html#apply

相关问题