在Node.js环境中,我使用的是neo4j dB。我想为neo4j中的每个节点使用节点模块“uslug”创建独特的slug。但是我在js文件中尝试在cypher查询中使用此函数时收到错误。 我的问题:
var uslug = require("uslug")
var slug = `MERGE(t:Test) set t.Blogtitle= uslug('Testing Slug','-')`
//仅供参考,为了便于阅读,我还没有在这里添加与neo4j驱动程序相关的代码......
那么,我应该如何使用uslug函数,以便为neo4j 中的每个节点创建唯一的slug?即使已存在相同的Blogtitle,如何将slug设置为增加,如“Testing-Slug-1”?
答案 0 :(得分:0)
您收到错误
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查询联系起来。
此外,根据code samples,第二个参数应该是一个可选对象,而不是您正在使用的字符串。因此,您应该将函数调用修复为uslug('Testing Slug')
。