node.js - 如何使用 node.js 更新节点节点?
问题描述
我无法使用 neo4j 更新数据库中的节点。更新过程不会发生。如果问题不是代码的问题,我无法弄清楚代码的编写。
app.post('/Movie/update',function(req, res){
var title = req.body.title;
var title = req.body.title2;
session
.run('MATCH (n:Movie {title:{titleParam}}) SET n.title={titleParam} RETURN n',{titleParam:title, title2Param:title})
.then(function(result){
res.redirect('/');
session.close();
})
.catch(function(err){
console.log(err);
});
res.redirect('/');
});
HTML 代码:
<form method="POST" action="/movie/update">
<br>
<input type="text" name="title">
<input type="text" name="title2">
<br>
<input type="submit" value="Submit">
</form>
解决方案
除了@jfriesenhahn 的回答之外,您的 Javascript 代码还为同一个title
变量分配了 2 个不同的值。您应该使用 2 个不同的变量:
var title = req.body.title;
var title2 = req.body.title2;
session
.run('MATCH (n:Movie {title: $title}}) SET n.title= $title2 RETURN n',
{title: title, title2: title2})
或者,更简单地说:
session
.run('MATCH (n:Movie {title: $title}}) SET n.title= $title2 RETURN n',
{title: req.body.title, title2: req.body.title2})
此答案还使用现在首选$foo
的参数语法(而不是不推荐使用的{foo}
语法)。
推荐阅读
- sql - pyspark 中 spark.sql 的意外行为
- python - 在 python 的正则表达式中使用 lookbehnd 提取字符串直到 '\n' 字符。它也可以有字母数字字符、特殊字符和空格
- excel - GdiPlus.dll 经常导致 excel 2010 崩溃
- python - 具有私人要求的 pip install 失败
- flutter - 如何在颤动中检测 Listview 构建器/屏幕的半滚动?
- video - 在 H.264 视频的每一帧上隐藏数据
- javascript - 用js上传前预览图片
- action - 操作控制台分析数据丢失
- batch-file - 如果网络 RTO 后网络正常运行,如何自动执行批处理文件
- java - 未调用 Mockito 存根方法