5

给定以下收集示例文档:

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

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

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

1 回答 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" })

Merge 将合并文档,其中后面的值将覆盖较早的值。有关详细信息,请参阅http://docs.arangodb.org/Aql/Functions.html

于 2014-10-19T08:37:36.347 回答