簡體   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