按字段合并文档
Merge documents by fields
我有两种文档。主要文档和附加信息。
{
"id": "371"
"name": "Mike",
"location": "Paris"
},
{
"id": "371-1",
"age": 20,
"lastname": "Piterson"
}
我需要通过 id
合并它们以获得结果文档。结果应如下所示:
{
"id": "371"
"name": "Mike",
"location": "Paris"
"age": 20,
"lastname": "Piterson"
}
使用COLLECT / INTO
, SPLIT()
, and MERGE()
:
FOR doc IN collection
COLLECT id = SPLIT(doc.id, '-')[0] INTO groups
RETURN MERGE(MERGE(groups[*].doc), {id})
结果:
[
{
"id": "371",
"location": "Paris",
"name": "Mike",
"lastname": "Piterson",
"age": 20
}
]
这将:
- 在任何
-
和 return 第一部分 处拆分每个 id
属性
- 将结果分组到单独的数组中 (
groups
)
- 合并#1:将所有对象合并为一个
- 合并 #2:将
id
合并到结果
有关写入操作,请参阅 REMOVE & INSERT or REPLACE。
我有两种文档。主要文档和附加信息。
{
"id": "371"
"name": "Mike",
"location": "Paris"
},
{
"id": "371-1",
"age": 20,
"lastname": "Piterson"
}
我需要通过 id
合并它们以获得结果文档。结果应如下所示:
{
"id": "371"
"name": "Mike",
"location": "Paris"
"age": 20,
"lastname": "Piterson"
}
使用COLLECT / INTO
, SPLIT()
, and MERGE()
:
FOR doc IN collection
COLLECT id = SPLIT(doc.id, '-')[0] INTO groups
RETURN MERGE(MERGE(groups[*].doc), {id})
结果:
[
{
"id": "371",
"location": "Paris",
"name": "Mike",
"lastname": "Piterson",
"age": 20
}
]
这将:
- 在任何
-
和 return 第一部分 处拆分每个 - 将结果分组到单独的数组中 (
groups
) - 合并#1:将所有对象合并为一个
- 合并 #2:将
id
合并到结果
id
属性
有关写入操作,请参阅 REMOVE & INSERT or REPLACE。