如何在 gremlin 查询中将多个对象合并为一个对象?
How to merge multiple objects into one, in gremlin query?
我在查询中执行了并集,得到了以下输出
{
key1 = value1,
key2 = value2
},
{
key3 = value3
}
我需要输出如下,
{
key1 = value1,
key2 = value2,
key3 = value3
}
你必须解构和重建地图。如果您想阅读更多内容,请在 Gremlin Recipes 中详细描述此操作。
以下代码将您带到 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()
那些映射到映射条目(即 key/value 对)和 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]
我在查询中执行了并集,得到了以下输出
{
key1 = value1,
key2 = value2
},
{
key3 = value3
}
我需要输出如下,
{
key1 = value1,
key2 = value2,
key3 = value3
}
你必须解构和重建地图。如果您想阅读更多内容,请在 Gremlin Recipes 中详细描述此操作。
以下代码将您带到 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()
那些映射到映射条目(即 key/value 对)和 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]