对象内部字段的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" })