尝试使用节点模块在neo4j数据库的节点中添加独特的slug时出错?

在Node.js环境中,我正在使用neo4j dB。 我想要使​​用节点模块“uslug”为neo4j中的每个节点创build独特的slug。 但是我试图在我的js文件的密码查询中使用这个函数时出错。 我的查询:

var uslug = require("uslug") var slug = `MERGE(t:Test) set t.Blogtitle= uslug('Testing Slug','-')` 

// FYI,为了可读性,我没有在这里添加与neo4j驱动相关的代码…

那么,应该如何使用uslug函数来为neo4j中的每个节点创build独特的slug ? 即使已经存在相同的Blogtitle,我如何设置slug像“Testing-Slug-1”一样增加?

你正在得到错误

Neo4jError:未知函数'uslug'。 这是错误

因为Neo4j不知道函数uslug ,并且将它传递给Cypher查询。 您应该在node.js上下文中调用uslug ,而不是在Neo4j数据库中。

尝试一下:

 var uslug = require("uslug") var slug = "MERGE(t:Test) set t.Blogtitle='" + uslug('Testing Slug') + "'" 

即:调用uslug('Testing Slug')并用Cypher查询连接结果。

另外,根据代码示例 ,第二个参数应该是一个可选对象,而不是您正在使用的string。 所以你应该修复uslug('Testing Slug')的函数调用。