Home > Software engineering >  Cant read property 'get' of undefined in nodejs
Cant read property 'get' of undefined in nodejs

Time:07-29

I am using Neo4j for the first time with nodejs and developing an application. I am getting the following error. I tried my best. Can you please help me with this error? Error

(node:16148) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'get' of 
undefined
at E:\fyps\app.js:120:33
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:16148) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error 
originated either by throwing inside of an async function without a catch block, or by 
rejecting a promise which was not handled with .catch(). To terminate the node process 
on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see 
https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:16148) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. 
In the future, promise rejections that are not handled will terminate the Node.js 
process with 
a non-zero exit code.

code

   app.get('/person/:id',function(req,res){
   var id = req.params.id;
   session
   .run("MATCH (a:Person) WHERE id(a)=$idParam RETURN a.name as name", {idParam: id})
   .then(function(result){
     var name =result.records[0].get("name");

session
.run("OPTIONAL MATCH (a:Person)- [r:BORN_in]-(b:location) where id(a)=$idParam RETURN b.city as city, b.state as state" , {idParam:id})
.then(function(result2){
  var city =result2.records[0].get("city");
  var state =result2.records[0].get("state");

  session
  .run("OPTIONAL MATCH (a:Person)-[r:FRIENDS]-(b:Person) WHERE id(a)=$idParam RETURN b", {idParam:id})
  .then(function(result3){
   var friendsArr =[];

     result3.records.forEach(function(record){
      if(record._fields[0] != null){
        friendsArr.push({
          id: record._fields[0].identity.low,
          name: record._fields[0].properties.name
        });
      }
     })
     res.render('person',{
      id:id,
      name:name,
      city:city,
      state:state,
      friends:friendsArr
     })
     session.close();
  })
  .catch(function(error){
    console.log(error);
  })

can you please help me that how to solve this error.. Thanks

CodePudding user response:

The error message clearly says that you are calling the get function on some entity that is undefined, and that has happened within a Promise. So, the error statement can be any one of these:

var name =result.records[0].get("name");
var city =result2.records[0].get("city");
var state =result2.records[0].get("state");

Add some relevant log statements to check which one is causing the issue.

  • Related