0

我正在尝试获取所有节点及其具有特定标签的 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();

但两人都回来了

[
  {},
  {}
]

我不明白,因为如果我这样做:

g.V().hasLabel("myLabel").map(p.values().fold()).toList();

我得到了一个我想要的列表,但只有值。

4

1 回答 1

0

事实证明,Gremlin 返回的是Map而不是 Object,因此我需要将响应转换为对象,然后才能使用它。

这是我的做法:

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()因为最后一个将值作为数组而不是实际值返回。

于 2021-07-28T18:54:33.993 回答