问题描述
我尝试通过以下代码将数据写入 neo4j:
var express = require('express');
var path = require('path');
var logger= require('morgan');
var bodyParser= require('body-parser');
var neo4j= require('neo4j-driver');
var app=express();
//view Engine:
app.set('views',path.join(__dirname,'views'));
app.set('view engine','ejs');
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.static(path.join(__dirname,'public')));
var driver = neo4j.driver('bolt://localhost',neo4j.auth.basic('neo4j','5141'));
var session = driver.session();
app.get('/',function(req,res){
session
.run('MATCH(n:Movie) RETURN n LIMIT 25')
.then(function(result){
var movieArr = [];
result.records.forEach(function(record){
movieArr.push({
id: record._fields[0].identity.low,title: record._fields[0].properties.title,year: record._fields[0].properties.year
});
});
session
.run('MATCH(n:Actor) RETURN n LIMIT 25')
.then(function(result2)
{
var actorArr = [];
result2.records.forEach(function(record){
actorArr.push({
id: record._fields[0].identity.low,name: record._fields[0].properties.name,})
});
res.render('index',{
movies: movieArr,actors: actorArr
});
})
.catch(function(err){
console.log(err);
});
})
.catch(function(err){
console.log(err);
});
});
app.post('/movie/add',res){
var title=req.body.title;
var year=req.body.year;
session
.run('CREATE(n:Movie{title:{titleParam},year:{yearParam}}) RETURN n.title'
{titleParam:title,yearParam:year})
.then(function(result){
res.redirect('/');
session.close();
})
.catch(function(err){
console.log(err);
});
res.redirect('/');
});
app.listen(3000);
console.log('Server started on port 3000 ');
module.exports= app;
但我一直在终端中收到以下错误
Neo4jError:不再支持旧的参数语法 {param}
。请使用$param
相反(第 1 行,第 22 列(偏移量:21))
"CREATE(n:Movie{title:{titleParam},year:{yearParam}}) RETURN n.title"
有人知道如何解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)