我正在使用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
答案 0 :(得分:1)
您看到的这种差异是Gremlin控制台在每次遇到Iterator
时都会自动迭代所有答案的方式而导致的。
在JS中,您必须使用Iterator
命令。
使用Iterator.next()
时,结果将是Iterator中的下一个值。
如果要获取所有值,我将使用toList
const result = await g
.V()
.hasId("1","2")
.toList()