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

时间:2014-10-17 12:18:54

标签: arangodb aql nosql

给出以下收集示例文档:

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

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

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

1 个答案:

答案 0 :(得分: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