ArangoDB 对具有假additionalProperties的Edge集合进行Arango架构验证不起作用

5tmbdcev  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(136)

我正在使用3.7版本中发布的ArangoDB架构验证。对于文档集合,架构验证按预期进行。但对于边缘集合,出现以下问题。

  • 边缘要求:边应该具有 id 属性或根本没有属性(因此不使用 required key),并且没有任何其他属性(因此将 additionalProperties 设置为false)。

我使用了以下架构和边缘示例。但由于架构验证失败,无法创建以下边缘示例。
使用的架构:

{
  "message": "Schema validation error",
  "level": "strict",
  "rule": {
    "properties": {
      "id": {
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}

已尝试使用ArangoDB Web界面创建边缘示例:

  • _来自:文档集合1/t1
  • _to:文档集合2/t2
  • _密钥:e1
  • 单据正文:{}

如果我将 additionalProperties 更改为 true,则可以创建边,但它也允许创建具有任何名称的属性的边,我不需要这些名称。
我已经在Arango文档中搜索过了,但无法找出在Edge集合中此方案的架构验证失败的原因。同样的方案在Document集合中工作正常。

环境:单节点,v3.7.2,社区版

ygya80vv

ygya80vv1#

这是一个在3.7.5中修复的错误:
https://github.com/arangodb/arangodb/issues/12778https://github.com/arangodb/arangodb/pull/12967显示器
不幸的是,似乎没有针对3.7.4和更早版本的解决方案--显式添加_from作为属性没有帮助,我想是因为它是一个需要内部转换的特殊字段。

相关问题