为什么hasId()仅返回列表中的ID之一?

时间:2019-07-14 02:13:24

标签: gremlin

我正在使用javascript gremlin根据ID列表获取结果:

await g
    .addV("test")
    .property(id, "1")
    .addV("test")
    .property(id, "2")
    .next();

const result = await g
    .V()
    .hasId("1","2")
    .next()

result仅包含ID 1: {"value":{"id":"1","label":"test"},"done":false}

如果我跳到控制台上,将会得到预期的结果。

g.V().hasId("1","2")
==>v[1]
==>v[2]

为什么这些结果之间存在差异?

JS在Node 10.x的AWS Lambda中运行。

gremlin:3.4.2

GraphSON v2

1 个答案:

答案 0 :(得分:1)

您看到的这种差异是Gremlin控制台在每次遇到Iterator时都会自动迭代所有答案的方式而导致的。 在JS中,您必须使用Iterator命令。

使用Iterator.next()时,结果将是Iterator中的下一个值。 如果要获取所有值,我将使用toList

const result = await g
    .V()
    .hasId("1","2")
    .toList()