Gremlin 的 valueMap() returns 带有 JS 和 Neptune 的空对象
Gremlin's valueMap() returns an empty object with JS and Neptune
我正在尝试使用具有特定标签的 gremlin 和 js 获取所有节点及其属性。
它应该输出如下内容:
[
{
p1:v1,
p2:v2,
px:vx
},
{
p1:v1,
p2:v2,
px:vx
}
]
我现在尝试了一百万种东西,但我认为它应该适用于:
g.V().hasLabel("myLabel").valueMap();
或
g.V().hasLabel("myLabel").map(p.valueMap()).toList();
但他们俩returns
[
{},
{}
]
我不明白,因为如果我这样做:
g.V().hasLabel("myLabel").map(p.values().fold()).toList();
我得到了一个我想要的列表,但只有值。
事实证明 Gremlin return 是一个 Map 而不是对象,所以我需要先将响应转换为对象才能使用它。
我是这样做的:
const response = await g.V().hasLabel("myLabel").local(p.properties().group().by(p.key()).by(p.value())).toList();
const asObject = response.map(val=>Object.fromEntries(val));
我还选择了 local
而不是 valueMap()
,因为最后一个 return 会将值作为数组而不是实际值。
我正在尝试使用具有特定标签的 gremlin 和 js 获取所有节点及其属性。
它应该输出如下内容:
[
{
p1:v1,
p2:v2,
px:vx
},
{
p1:v1,
p2:v2,
px:vx
}
]
我现在尝试了一百万种东西,但我认为它应该适用于:
g.V().hasLabel("myLabel").valueMap();
或
g.V().hasLabel("myLabel").map(p.valueMap()).toList();
但他们俩returns
[
{},
{}
]
我不明白,因为如果我这样做:
g.V().hasLabel("myLabel").map(p.values().fold()).toList();
我得到了一个我想要的列表,但只有值。
事实证明 Gremlin return 是一个 Map 而不是对象,所以我需要先将响应转换为对象才能使用它。
我是这样做的:
const response = await g.V().hasLabel("myLabel").local(p.properties().group().by(p.key()).by(p.value())).toList();
const asObject = response.map(val=>Object.fromEntries(val));
我还选择了 local
而不是 valueMap()
,因为最后一个 return 会将值作为数组而不是实际值。