问题
Given the following example document of collection:
{
"timestamp": 1413543986,
"message": "message",
"readed": {
"8": null,
"9": null,
"22": null
},
"type": "1014574149174"
}
How do I update the value of specific key in object with key "readed"? For example update value for key "8":
...
"8": 10,
...
回答1:
You can use MERGE or MERGE_RECURSIVE as follows:
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 will merge documents, where later values will overwrite earlier ones. See http://docs.arangodb.org/Aql/Functions.html for details.
来源:https://stackoverflow.com/questions/26424894/arangodb-aql-update-for-internal-field-of-object