app.get("/movie/:name", (req, res) => { const name = req.params.name; session .run( "MATCH(m:Movie {title: {nameParam}})-[r:ACTED_IN]-(a:Actor), (m)-[u:DIRECTED]-(d:Director) RETURN m,collect(a),d", { nameParam: name } ) .then(result => { res.render("movie", { actorsList: result.records[0]._fields[1].map(item => { return item.properties.name; }), directorsList: result.records[0]._fields[2].properties.name, title: result.records[0]._fields[0].properties.title, year: result.records[0]._fields[0].properties.year, endpoint: process.env.endpoint }); }) .catch(err => { console.log(err); }); });
app.get("/actor/:name", (req, res) => { const name = req.params.name; session .run( "MATCH(n:Actor {name: {nameParam}})-[:ACTED_IN]->(m:Movie)<-[:DIRECTED]-(d:Director) RETURN n,m,d LIMIT 3", { nameParam: name } ) .then(result => { const actorInfoList = []; result.records.forEach(record => { actorInfoList.push({ directorName: record._fields[2].properties.name, movieName: record._fields[1].properties.title }); }); res.render("actor", { name, endpoint: process.env.endpoint, actorInfo: actorInfoList }); }); });
actors: actorArr, directors: directorArr, endpoint: process.env.endpoint }); })
directorInfo: directorInfoList, name, endpoint: process.env.endpoint }); });