对象内部字段的Arangodb AQL更新

对象内部字段的Arangodb AQL更新,arangodb,aql,nosql,Arangodb,Aql,Nosql,给出以下收集文件示例: { "timestamp": 1413543986, "message": "message", "readed": { "8": null, "9": null, "22": null }, "type": "1014574149174" } 如何使用键“readed”更新对象中特定键的值?例如,键“8”的更新值: 您可以按如下方式使用MERGE或MERGE\u RECURSIVE: db._query("FOR u IN

给出以下收集文件示例:

{
  "timestamp": 1413543986,
  "message": "message",
  "readed": {
    "8": null,
    "9": null,
    "22": null
  },
  "type": "1014574149174"
}
如何使用键“readed”更新对象中特定键的值?例如,键“8”的更新值:


您可以按如下方式使用MERGE或MERGE\u 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" })

“合并”将合并文档,以后的值将覆盖以前的值。有关详细信息,请参阅。

我认为通过另一个参数(如:collection.update,document,data,overwrite,keepNull,waitForSync,mergeRecursive)在collection.update方法中公开此函数是有意义的,因为更新内部字段是一个常见的用例。打字:它不应该是带有{'read'的
:MERGE\u RECURSIVE(u.read,{'8':10})}
?(缺少打开的
{
db._query("FOR u IN test FILTER u._key == @key UPDATE u WITH
  'read': MERGE_RECURSIVE(u.read, { '8': 10 }) } IN test",
  { key: "11611344050" })