2017-01-17 7 views
1

My Code !!ノードjsを使用してneo4jでノードを作成中にエラーが発生しました

var neo4j = require('neo4j-driver').v1; 
var express = require('express'); 
var logger = require('morgan'); 
var path = require('path'); 
var bodyParser =require('body-parser'); 
var app=express(); 
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:7687", neo4j.auth.basic("Novasys", "123456")); 
var session = driver.session(); 
app.get('/', function(req,res){ 
    session 
    .run('MATCH (n:Movie) RETURN n LIMIT 30') 
    .then(function(result){ 
    var moviearr = []; 
    result.records.forEach(function(record){ 
     moviearr.push({enter code here 
     id: record._fields[0].identity.low, 
     title: record._fields[0].properties.title, 
     released: record._fields[0].properties.released 
     }); 
    }); 

    session 
    .run('MATCH (n:Person) RETURN n LIMIT 25') 
    .then(function(result2){ 
     var personArr = []; 
     result2.records.forEach(function(record){ 
     personArr.push({ 
     id: record._fields[0].identity.low, 
     name: record._fields[0].properties.name 
     }); 
     }); 
     res.render('index', { 
     movies: moviearr, 
     persons: personArr 
    }); 
    }) 
    .catch(function(err){ 
     console.log(err); 
    }); 
    }) 
    .catch(function(err){ 
    console.log(err); 
    }); 
}); 

app.post('/movie/add',function(req,res,next){ 
     var title = req.body.title; 
     var released = req.body.released; 

     session 
     .run('CREATE(n:Movie {title:{titleParam}, released:{releasedParam}}) RETURN n.title',{titleParam:title, releasedParam:released}) 
     .then(function(result){ 
      res.redirect(); 
     session.close(); 
     }) 
     .catch(function(err){ 
    console.log(err); 
    }); 

     res.redirect('/'); 

}); 
app.listen(4000); 
console.log('Server started on port 4000'); 

module.exports=app; **strong text** 

エラーが発生します。

TypeError: Cannot read property 'name' of undefined at B:\nodejs\newp\app.js:75:30 at Layer.handle [as handle_request] (B:\nodejs\newp\node_modules\express\lib\router\layer.js:95:5) at next (B:\nodejs\newp\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (B:\nodejs\newp\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (B:\nodejs\newp\node_modules\express\lib\router\layer.js:95:5) at B:\nodejs\newp\node_modules\express\lib\router\index.js:277:22 at Function.process_params (B:\nodejs\newp\node_modules\express\lib\router\index.js:330:12) at next (B:\nodejs\newp\node_modules\express\lib\router\index.js:271:10) at serveStatic (B:\nodejs\newp\node_modules\serve-static\index.js:75:16) at Layer.handle [as handle_request] (B:\nodejs\newp\node_modules\express\lib\router\layer.js:95:5)

誰でもこの問題を解決できますか?私はノードjsとneo4jを初めて使っています。アドバンス

答えて

1

☼こんにちはにおける

おかげで、

あなたのNeo4jデータベースにラベル "人" を持っていますか?また、それが必須ではありません、私はあなたがこのexemple hereを取ったと思うが、彼らは、ラベル「作品」と「俳優」

+0

を☼使用

session .run('MATCH (n:Actor) RETURN n LIMIT 25') 

session .run('MATCH (n:Person) RETURN n LIMIT 25') 

は、あなたが試してみました「LIMIT 25」を追加します。これにより結果が25件表示されますが、この場合は少ないアクターが表示されます。 –

関連する問題