如何在 gremlin 查询中把多个对象合并成一个?

问题描述 投票:0回答:1

我在查询中进行了合并,得到了以下的结果

{
    key1 = value1,
    key2 = value2
},
{
    key3 = value3
}

我需要输出如下。

{
    key1 = value1,
    key2 = value2,
    key3 = value3
}
gremlin gremlin-server azure-cosmosdb-gremlinapi
1个回答
1
投票

你必须对地图进行解构和重构。这个操作在 小精灵食谱 如果你想阅读更多。

下面的代码可以让你到你的位置的 union():

gremlin> x = [[key1:"value1",key2:"value2"],[key3:"value3"]]
==>[key1:value1,key2:value2]
==>[key3:value3]
gremlin> g.inject(x).unfold()
==>[key1:value1,key2:value2]
==>[key3:value3]

那你就... unfold() 这些映射到地图条目(即键值对)和 group() 他们一起回来。

gremlin> g.inject(x).unfold().unfold().group().by(keys).by(values)
==>[key1:[value1],key2:[value2],key3:[value3]]
gremlin> g.inject(x).unfold().unfold().group().by(keys).by(select(values))
==>[key1:value1,key2:value2,key3:value3]
© www.soinside.com 2019 - 2024. All rights reserved.