Node.js neo4j展开参数传递问题

Node.js neo4j展开参数传递问题,node.js,neo4j,cypher,Node.js,Neo4j,Cypher,我试图在cypher查询中传递一个graph ql arguments数组。我在进行查询时遇到困难。在执行控制台日志时,我可以看到正确传递的参数。但是,当我尝试使用NodeJS时。Neo4j驱动程序什么也没做。我想我做错了什么。谁能给我引路 使用neo4j 3.5.12 const query = `UNWIND $list as batch match ((u:user { ohrid: ${ctx.ohrid}})-[:FILE_SHARED_WITH| FILE_SHARED_WITH_G

我试图在cypher查询中传递一个graph ql arguments数组。我在进行查询时遇到困难。在执行控制台日志时,我可以看到正确传递的参数。但是,当我尝试使用NodeJS时。Neo4j驱动程序什么也没做。我想我做错了什么。谁能给我引路

使用neo4j 3.5.12

const query = `UNWIND $list as batch
match ((u:user { ohrid: ${ctx.ohrid}})-[:FILE_SHARED_WITH| FILE_SHARED_WITH_GROUP| MEMBER_OF_GROUP*..2]-(f:file)) where f.uuid = batch.uuid
SET f.documentStatus = batch.documentStatus
return f as files`;

const queryParams = { list: args.documents }; // args.document is arguments from gql mutation

const result = await session.run(query, queryParams);
如果我在neo4j浏览器中使用相同的查询,它可以正常工作


UNWIND [{id: 2, documentStatus: "unpublished"}, { id: 32, documentStatus: "unpublished"}] as batch
match ((u:user { ohrid: 850046714})-[:FILE_SHARED_WITH| FILE_SHARED_WITH_GROUP| MEMBER_OF_GROUP*..2]-(f:file)) where ID(f) = batch.id and any(x in batch.documentStatus where x in ['published', 'unpublished'])
SET f.documentStatus = batch.documentStatus
return f
干杯
~Meet

驱动程序返回的错误是什么?您还可以共享一个
JSON.stringify(args.documents)
的内容,看看它是否有问题。您在浏览器中使用的查询有一个非常不同的
WHERE
子句。另外,您确定
${ctx.ohrid}
值是
850046714
,还是
$list
参数的列表与浏览器查询中使用的列表相同?正如其他人所说,我们不知道您为这些参数传递了什么值。特别是,我猜
ctx.ohrid
可能没有正确设置/使用。如果您无法找到它,请在neo4j服务器中启用查询日志,并查看您在那里得到的查询。它现在已修复,谢谢