繁体   English   中英

边缘集合的 Arango 架构验证与 false additionalProperties 不起作用

[英]Arango schema validation for Edge collection with false additionalProperties not working

我正在使用 3.7 版本中发布的 ArangoDB 模式验证。 对于 Document 集合,架构验证按预期发生。 但是对于Edge 集合,出现了以下问题。

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

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

使用的架构:

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

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

  • _来自:DocCollection1/t1
  • _to: DocCollection2/t2
  • _key:e1
  • 文档正文:{}

如果我将additionalProperties更改为true ,则可以创建边,但它也可以创建具有我不需要的任何名称的属性的边。

我在 Arango 文档中进行了搜索,但无法弄清楚为什么在 Edge 集合中的这种情况下架构验证失败。 相同的场景在文档集合中工作正常。

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

这是在 3.7.5 中修复的错误:

https://github.com/arangodb/arangodb/issues/12778 https://github.com/arangodb/arangodb/pull/12967

不幸的是,似乎没有 3.7.4 及更早版本的解决方法 - 显式添加_from作为属性没有帮助,我想是因为它是一个需要内部翻译的特殊字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM