将数据附加到 arangodb 中的嵌套列表(子列表)
Append data to a nested list (sublist) in arangodb
如果这是一个愚蠢的问题,我深表歉意,但它让我抓狂。我是 arango 的新手,但通常我可以得过且过,但这次不行。
我想将另一组项目插入到下面数据中名为 'type' 的列表中。我可以使用更新修改子列表的内容,但似乎无法弄清楚如何附加到列表。
在 MAG_TEST 中的文档
过滤器 doc._key == “3704086”
插入 {"Name":"Mary","datestart":"2017 年 3 月 16 日"} 插入 doc.type
所以这个
[
{
"_key": "3704086",
"_id": "MAG_TEST/3704086",
"_rev": "3704109",
"name": "Flip",
"type":[
{
"name": "flop",
"sdate": "2016 年 4 月 13 日"
},
{
"name": "flap",
"sdate": "2017 年 4 月 14 日"
}
]
}
]
变成这样
[
{
"_key": "3704086",
"_id": "MAG_TEST/3704086",
"_rev": "3704109",
"name": "Flip",
"type":[
{
"name": "flop",
"sdate": "2016 年 4 月 13 日"
},
{
"name": "flap",
"sdate": "2017 年 4 月 14 日"
},
{
"name": "fling",
"sdate":“2018 年 4 月 18 日”
}
]
}
]
这是一个示例,说明如何使用 UPDATE
和 APPEND
来更新包含对象数组的属性:
FOR doc IN MAG_TEST
FILTER doc._key == "3704086"
UPDATE doc WITH { type: APPEND(doc.type, {"Name":"Mary","datestart":"16 March 2017"})} IN MAG_TEST
在这个例子中你:
FILTER
找到你要更新的文档
UPDATE
找到的文档
- 使用
WITH
显示您要更新的属性
- 将
type
属性标识为正在更新
- 使用
APPEND
将新对象添加到doc.type
的现有值
- 指定将存储更新文档的集合,
MAG_TEST
希望对您有所帮助。
Documentation on the UPDATE command
Documentation on Array functions
注意:不要使用我上面提到的MERGE
,MERGE
用于将两个文档的属性合并为一个文档。对于连接数组,APPEND
是您可以使用的一个选项。了解其他数组函数可以帮助解决您在从数组中操作和获取数据时肯定会遇到的用例。
如果这是一个愚蠢的问题,我深表歉意,但它让我抓狂。我是 arango 的新手,但通常我可以得过且过,但这次不行。
我想将另一组项目插入到下面数据中名为 'type' 的列表中。我可以使用更新修改子列表的内容,但似乎无法弄清楚如何附加到列表。
在 MAG_TEST 中的文档 过滤器 doc._key == “3704086” 插入 {"Name":"Mary","datestart":"2017 年 3 月 16 日"} 插入 doc.type
所以这个 [ { "_key": "3704086", "_id": "MAG_TEST/3704086", "_rev": "3704109", "name": "Flip", "type":[ { "name": "flop", "sdate": "2016 年 4 月 13 日" }, { "name": "flap", "sdate": "2017 年 4 月 14 日" } ] } ]
变成这样 [ { "_key": "3704086", "_id": "MAG_TEST/3704086", "_rev": "3704109", "name": "Flip", "type":[ { "name": "flop", "sdate": "2016 年 4 月 13 日" }, { "name": "flap", "sdate": "2017 年 4 月 14 日" }, { "name": "fling", "sdate":“2018 年 4 月 18 日” } ] } ]
这是一个示例,说明如何使用 UPDATE
和 APPEND
来更新包含对象数组的属性:
FOR doc IN MAG_TEST
FILTER doc._key == "3704086"
UPDATE doc WITH { type: APPEND(doc.type, {"Name":"Mary","datestart":"16 March 2017"})} IN MAG_TEST
在这个例子中你:
FILTER
找到你要更新的文档UPDATE
找到的文档- 使用
WITH
显示您要更新的属性 - 将
type
属性标识为正在更新 - 使用
APPEND
将新对象添加到doc.type
的现有值
- 指定将存储更新文档的集合,
MAG_TEST
希望对您有所帮助。
Documentation on the UPDATE command
Documentation on Array functions
注意:不要使用我上面提到的MERGE
,MERGE
用于将两个文档的属性合并为一个文档。对于连接数组,APPEND
是您可以使用的一个选项。了解其他数组函数可以帮助解决您在从数组中操作和获取数据时肯定会遇到的用例。