首页 文章

Arangodb AQL UPDATE用于对象的内部字段

提问于
浏览
5

给出以下示例收集文档:

{
  "timestamp": 1413543986,
  "message": "message",
  "readed": {
    "8": null,
    "9": null,
    "22": null
  },
  "type": "1014574149174"
}

如何使用“readed”键更新对象中特定键的值?例如,键“8”的更新值:

...
   "8": 10,
...

1 回答

  • 5

    您可以使用MERGE或MERGE_RECURSIVE,如下所示:

    db._query("FOR u IN test FILTER u._key == @key UPDATE u WITH
      'read': MERGE_RECURSIVE(u.read, { '8': 10 }) } IN test",
      { key: "11611344050" })
    

    合并将合并文档,后面的值将覆盖以前的值 . 有关详细信息,请参阅http://docs.arangodb.org/Aql/Functions.html .

相关问题