Cypher Neo4j Return 多变量(node.js 驱动程序)

Cypher Neo4j Return Multiple Variables (node.js Driver)

我想查询我的 Neo4j 数据库和 return 我 MATCH 的多个变量。不幸的是,每当我尝试这样做时,都会收到错误消息。我在网上做了一些研究,有人提到 returning 多个变量 return 将它们作为不同的列而不是向记录中添加行。或类似的东西。由于我的两个变量属于同一类型,因此我确实希望将它们作为行添加到同一记录数组中。

我该怎么做?

这是我的 Cypher 查询,封装在 JavaScript 函数中,用于我的 Node.js 服务器。

function getMyEvents(tx, userID) {
    return tx.run("MATCH (self:USER {userID: $userID})" +
        "MATCH (self)-[h:HOST]->(hostingEvents:EVENT) " +
        "MATCH (self)-[a:ATTENDING]-(attendingEvents:EVENT) " +
        "RETURN attendingEvents, hostingEvents",
        {"userID": userID})
}

我希望 attendingEventshostingEvents 都被 returned 作为同一数组中的项目/同一记录中的行。不是不同的专栏,也不是我遇到的评论的意思。

如果我没看错你的问题,那么你想要的是在 self:EVENT 之间匹配 HOSTATTENDING 关系? 然后你可以使用 | 匹配多种关系类型,给你 Cypher

MATCH (self:USER {userID: $userID})
MATCH (self)-[:HOST|:ATTENDING]->(event:EVENT)
RETURN event

请注意,我假设这两个关系具有相同的方向,如果不是,那么您可以从模式中删除 >