Neo4j NodeJS code doesn't display the entire nodes data












0















I have integrated Neo4j in my NodeJS (backend) and Angular6 (front-end) application. My query runs and i get the data of nodes and connected node network in my Neo4j Browser. However, i want that entire data of nodes being displayed through a particular query on my console (i.e. in NodeJS -> back-end and angular ->front-end). This is not happening . I get only the first node data. Please help me retrieve the entire displayed nodal data in NodeJS .



NodeJS code



neo4j-controller.js



// Require Neo4j
var neo4j = require('neo4j-driver').v1;

var path = require('path');
var logger = require('morgan');
var bodyParser = require('body-parser');
var express = require('express');

var router = express.Router();

var app = express();



const driver = new neo4j.driver("bolt://localhost:11001", neo4j.auth.basic("neo4j", "ib1"));


const cypher = 'MATCH (n) RETURN count(n) as count';




app.set('views', path.join(__dirname, 'views'));

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));


var session = driver.session();
var request = require('request');

router.post('/', seekParameter);


module.exports = router;


//working code below

// ------------------------------- Original Code ----------------------------------------

function seekParameter(req, res) {

console.log("INSIDE NODE JS CONTROLLER OF seekParameter");

console.log("BODY IS ", req.body);

session

.run(`MATCH p=()-[r:Parameter]->() RETURN p`)
.then(function (result){

result.records.forEach(function(record){
console.log("record = ", record);
console.log("result = ", result)
console.log("1] record._fields[0].properties=",record._fields[0].properties);

res.send(record);
});

})
.catch(function(err){
console.log("inside catch = " + err);
})

session.close();
}


output



 INSIDE NODE JS CONTROLLER OF seekParameter
BODY IS undefined
record = Record {
keys: [ 'p' ],
length: 1,
_fields:
[ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
_fieldLookup: { p: 0 } }
result = { records:
[ Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] } ],
summary:
ResultSummary {
statement:
{ text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
parameters: {} },
statementType: 'r',
counters: StatementStatistics { _stats: [Object] },
updateStatistics: StatementStatistics { _stats: [Object] },
plan: false,
profile: false,
notifications: ,
server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
resultConsumedAfter: Integer { low: 9, high: 0 },
resultAvailableAfter: Integer { low: 1, high: 0 } } }
1] record._fields[0].properties= { name: 'accidentTime' }
2]record._fields[1] = [ Path {
start: Node { identity: [Object], labels: [Array], properties: [Object] },
end: Node { identity: [Object], labels: [Array], properties: [Object] },
segments: [ [Object] ],
length: 1 } ]
record = Record {
keys: [ 'p' ],
length: 1,
_fields:
[ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
_fieldLookup: { p: 0 } }
result = { records:
[ Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] },
Record {
keys: [Array],
length: 1,
_fields: [Array],
_fieldLookup: [Object] } ],
summary:
ResultSummary {
statement:
{ text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
parameters: {} },
statementType: 'r',
counters: StatementStatistics { _stats: [Object] },
updateStatistics: StatementStatistics { _stats: [Object] },
plan: false,
profile: false,
notifications: ,
server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
resultConsumedAfter: Integer { low: 9, high: 0 },
resultAvailableAfter: Integer { low: 1, high: 0 } } }
1] record._fields[0].properties= { name: 'productType' }
2]record._fields[1] = [ Path {
start: Node { identity: [Object], labels: [Array], properties: [Object] },
end: Node { identity: [Object], labels: [Array], properties: [Object] },
segments: [ [Object] ],
length: 1 } ]

inside catch = Error: Can't set headers after they are sent.









share|improve this question





























    0















    I have integrated Neo4j in my NodeJS (backend) and Angular6 (front-end) application. My query runs and i get the data of nodes and connected node network in my Neo4j Browser. However, i want that entire data of nodes being displayed through a particular query on my console (i.e. in NodeJS -> back-end and angular ->front-end). This is not happening . I get only the first node data. Please help me retrieve the entire displayed nodal data in NodeJS .



    NodeJS code



    neo4j-controller.js



    // Require Neo4j
    var neo4j = require('neo4j-driver').v1;

    var path = require('path');
    var logger = require('morgan');
    var bodyParser = require('body-parser');
    var express = require('express');

    var router = express.Router();

    var app = express();



    const driver = new neo4j.driver("bolt://localhost:11001", neo4j.auth.basic("neo4j", "ib1"));


    const cypher = 'MATCH (n) RETURN count(n) as count';




    app.set('views', path.join(__dirname, 'views'));

    app.use(logger('dev'));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(express.static(path.join(__dirname, 'public')));


    var session = driver.session();
    var request = require('request');

    router.post('/', seekParameter);


    module.exports = router;


    //working code below

    // ------------------------------- Original Code ----------------------------------------

    function seekParameter(req, res) {

    console.log("INSIDE NODE JS CONTROLLER OF seekParameter");

    console.log("BODY IS ", req.body);

    session

    .run(`MATCH p=()-[r:Parameter]->() RETURN p`)
    .then(function (result){

    result.records.forEach(function(record){
    console.log("record = ", record);
    console.log("result = ", result)
    console.log("1] record._fields[0].properties=",record._fields[0].properties);

    res.send(record);
    });

    })
    .catch(function(err){
    console.log("inside catch = " + err);
    })

    session.close();
    }


    output



     INSIDE NODE JS CONTROLLER OF seekParameter
    BODY IS undefined
    record = Record {
    keys: [ 'p' ],
    length: 1,
    _fields:
    [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
    _fieldLookup: { p: 0 } }
    result = { records:
    [ Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] } ],
    summary:
    ResultSummary {
    statement:
    { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
    parameters: {} },
    statementType: 'r',
    counters: StatementStatistics { _stats: [Object] },
    updateStatistics: StatementStatistics { _stats: [Object] },
    plan: false,
    profile: false,
    notifications: ,
    server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
    resultConsumedAfter: Integer { low: 9, high: 0 },
    resultAvailableAfter: Integer { low: 1, high: 0 } } }
    1] record._fields[0].properties= { name: 'accidentTime' }
    2]record._fields[1] = [ Path {
    start: Node { identity: [Object], labels: [Array], properties: [Object] },
    end: Node { identity: [Object], labels: [Array], properties: [Object] },
    segments: [ [Object] ],
    length: 1 } ]
    record = Record {
    keys: [ 'p' ],
    length: 1,
    _fields:
    [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
    _fieldLookup: { p: 0 } }
    result = { records:
    [ Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] },
    Record {
    keys: [Array],
    length: 1,
    _fields: [Array],
    _fieldLookup: [Object] } ],
    summary:
    ResultSummary {
    statement:
    { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
    parameters: {} },
    statementType: 'r',
    counters: StatementStatistics { _stats: [Object] },
    updateStatistics: StatementStatistics { _stats: [Object] },
    plan: false,
    profile: false,
    notifications: ,
    server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
    resultConsumedAfter: Integer { low: 9, high: 0 },
    resultAvailableAfter: Integer { low: 1, high: 0 } } }
    1] record._fields[0].properties= { name: 'productType' }
    2]record._fields[1] = [ Path {
    start: Node { identity: [Object], labels: [Array], properties: [Object] },
    end: Node { identity: [Object], labels: [Array], properties: [Object] },
    segments: [ [Object] ],
    length: 1 } ]

    inside catch = Error: Can't set headers after they are sent.









    share|improve this question



























      0












      0








      0








      I have integrated Neo4j in my NodeJS (backend) and Angular6 (front-end) application. My query runs and i get the data of nodes and connected node network in my Neo4j Browser. However, i want that entire data of nodes being displayed through a particular query on my console (i.e. in NodeJS -> back-end and angular ->front-end). This is not happening . I get only the first node data. Please help me retrieve the entire displayed nodal data in NodeJS .



      NodeJS code



      neo4j-controller.js



      // Require Neo4j
      var neo4j = require('neo4j-driver').v1;

      var path = require('path');
      var logger = require('morgan');
      var bodyParser = require('body-parser');
      var express = require('express');

      var router = express.Router();

      var app = express();



      const driver = new neo4j.driver("bolt://localhost:11001", neo4j.auth.basic("neo4j", "ib1"));


      const cypher = 'MATCH (n) RETURN count(n) as count';




      app.set('views', path.join(__dirname, 'views'));

      app.use(logger('dev'));
      app.use(bodyParser.json());
      app.use(bodyParser.urlencoded({ extended: false }));
      app.use(express.static(path.join(__dirname, 'public')));


      var session = driver.session();
      var request = require('request');

      router.post('/', seekParameter);


      module.exports = router;


      //working code below

      // ------------------------------- Original Code ----------------------------------------

      function seekParameter(req, res) {

      console.log("INSIDE NODE JS CONTROLLER OF seekParameter");

      console.log("BODY IS ", req.body);

      session

      .run(`MATCH p=()-[r:Parameter]->() RETURN p`)
      .then(function (result){

      result.records.forEach(function(record){
      console.log("record = ", record);
      console.log("result = ", result)
      console.log("1] record._fields[0].properties=",record._fields[0].properties);

      res.send(record);
      });

      })
      .catch(function(err){
      console.log("inside catch = " + err);
      })

      session.close();
      }


      output



       INSIDE NODE JS CONTROLLER OF seekParameter
      BODY IS undefined
      record = Record {
      keys: [ 'p' ],
      length: 1,
      _fields:
      [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
      _fieldLookup: { p: 0 } }
      result = { records:
      [ Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] } ],
      summary:
      ResultSummary {
      statement:
      { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
      parameters: {} },
      statementType: 'r',
      counters: StatementStatistics { _stats: [Object] },
      updateStatistics: StatementStatistics { _stats: [Object] },
      plan: false,
      profile: false,
      notifications: ,
      server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
      resultConsumedAfter: Integer { low: 9, high: 0 },
      resultAvailableAfter: Integer { low: 1, high: 0 } } }
      1] record._fields[0].properties= { name: 'accidentTime' }
      2]record._fields[1] = [ Path {
      start: Node { identity: [Object], labels: [Array], properties: [Object] },
      end: Node { identity: [Object], labels: [Array], properties: [Object] },
      segments: [ [Object] ],
      length: 1 } ]
      record = Record {
      keys: [ 'p' ],
      length: 1,
      _fields:
      [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
      _fieldLookup: { p: 0 } }
      result = { records:
      [ Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] } ],
      summary:
      ResultSummary {
      statement:
      { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
      parameters: {} },
      statementType: 'r',
      counters: StatementStatistics { _stats: [Object] },
      updateStatistics: StatementStatistics { _stats: [Object] },
      plan: false,
      profile: false,
      notifications: ,
      server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
      resultConsumedAfter: Integer { low: 9, high: 0 },
      resultAvailableAfter: Integer { low: 1, high: 0 } } }
      1] record._fields[0].properties= { name: 'productType' }
      2]record._fields[1] = [ Path {
      start: Node { identity: [Object], labels: [Array], properties: [Object] },
      end: Node { identity: [Object], labels: [Array], properties: [Object] },
      segments: [ [Object] ],
      length: 1 } ]

      inside catch = Error: Can't set headers after they are sent.









      share|improve this question
















      I have integrated Neo4j in my NodeJS (backend) and Angular6 (front-end) application. My query runs and i get the data of nodes and connected node network in my Neo4j Browser. However, i want that entire data of nodes being displayed through a particular query on my console (i.e. in NodeJS -> back-end and angular ->front-end). This is not happening . I get only the first node data. Please help me retrieve the entire displayed nodal data in NodeJS .



      NodeJS code



      neo4j-controller.js



      // Require Neo4j
      var neo4j = require('neo4j-driver').v1;

      var path = require('path');
      var logger = require('morgan');
      var bodyParser = require('body-parser');
      var express = require('express');

      var router = express.Router();

      var app = express();



      const driver = new neo4j.driver("bolt://localhost:11001", neo4j.auth.basic("neo4j", "ib1"));


      const cypher = 'MATCH (n) RETURN count(n) as count';




      app.set('views', path.join(__dirname, 'views'));

      app.use(logger('dev'));
      app.use(bodyParser.json());
      app.use(bodyParser.urlencoded({ extended: false }));
      app.use(express.static(path.join(__dirname, 'public')));


      var session = driver.session();
      var request = require('request');

      router.post('/', seekParameter);


      module.exports = router;


      //working code below

      // ------------------------------- Original Code ----------------------------------------

      function seekParameter(req, res) {

      console.log("INSIDE NODE JS CONTROLLER OF seekParameter");

      console.log("BODY IS ", req.body);

      session

      .run(`MATCH p=()-[r:Parameter]->() RETURN p`)
      .then(function (result){

      result.records.forEach(function(record){
      console.log("record = ", record);
      console.log("result = ", result)
      console.log("1] record._fields[0].properties=",record._fields[0].properties);

      res.send(record);
      });

      })
      .catch(function(err){
      console.log("inside catch = " + err);
      })

      session.close();
      }


      output



       INSIDE NODE JS CONTROLLER OF seekParameter
      BODY IS undefined
      record = Record {
      keys: [ 'p' ],
      length: 1,
      _fields:
      [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
      _fieldLookup: { p: 0 } }
      result = { records:
      [ Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] } ],
      summary:
      ResultSummary {
      statement:
      { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
      parameters: {} },
      statementType: 'r',
      counters: StatementStatistics { _stats: [Object] },
      updateStatistics: StatementStatistics { _stats: [Object] },
      plan: false,
      profile: false,
      notifications: ,
      server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
      resultConsumedAfter: Integer { low: 9, high: 0 },
      resultAvailableAfter: Integer { low: 1, high: 0 } } }
      1] record._fields[0].properties= { name: 'accidentTime' }
      2]record._fields[1] = [ Path {
      start: Node { identity: [Object], labels: [Array], properties: [Object] },
      end: Node { identity: [Object], labels: [Array], properties: [Object] },
      segments: [ [Object] ],
      length: 1 } ]
      record = Record {
      keys: [ 'p' ],
      length: 1,
      _fields:
      [ Path { start: [Object], end: [Object], segments: [Array], length: 1 } ],
      _fieldLookup: { p: 0 } }
      result = { records:
      [ Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] },
      Record {
      keys: [Array],
      length: 1,
      _fields: [Array],
      _fieldLookup: [Object] } ],
      summary:
      ResultSummary {
      statement:
      { text: ' MATCH p=()-[r:Parameter]->() RETURN p ;',
      parameters: {} },
      statementType: 'r',
      counters: StatementStatistics { _stats: [Object] },
      updateStatistics: StatementStatistics { _stats: [Object] },
      plan: false,
      profile: false,
      notifications: ,
      server: ServerInfo { address: 'localhost:11001', version: 'Neo4j/3.4.7' },
      resultConsumedAfter: Integer { low: 9, high: 0 },
      resultAvailableAfter: Integer { low: 1, high: 0 } } }
      1] record._fields[0].properties= { name: 'productType' }
      2]record._fields[1] = [ Path {
      start: Node { identity: [Object], labels: [Array], properties: [Object] },
      end: Node { identity: [Object], labels: [Array], properties: [Object] },
      segments: [ [Object] ],
      length: 1 } ]

      inside catch = Error: Can't set headers after they are sent.






      node.js neo4j






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 16 '18 at 12:03







      Techdive

















      asked Nov 16 '18 at 11:32









      TechdiveTechdive

      228117




      228117
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Thanks. I resolved the issue.
          The place and parameter i was passing in response was incorrect.



          Correct code -



          session

          .run(` MATCH p=()-[r:Parameter]->() RETURN p ;`)
          .then(function (result){

          result.records.forEach(function(record){
          console.log("record = ", record);
          console.log("result = ", result)
          console.log("1] record._fields[0].properties = ",record._fields[0].end.properties);
          // res.send(record);
          });
          res.send(result);

          })
          .catch(function(err){
          console.log("inside catch = " + err);
          })

          session.close();
          }





          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337020%2fneo4j-nodejs-code-doesnt-display-the-entire-nodes-data%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Thanks. I resolved the issue.
            The place and parameter i was passing in response was incorrect.



            Correct code -



            session

            .run(` MATCH p=()-[r:Parameter]->() RETURN p ;`)
            .then(function (result){

            result.records.forEach(function(record){
            console.log("record = ", record);
            console.log("result = ", result)
            console.log("1] record._fields[0].properties = ",record._fields[0].end.properties);
            // res.send(record);
            });
            res.send(result);

            })
            .catch(function(err){
            console.log("inside catch = " + err);
            })

            session.close();
            }





            share|improve this answer




























              0














              Thanks. I resolved the issue.
              The place and parameter i was passing in response was incorrect.



              Correct code -



              session

              .run(` MATCH p=()-[r:Parameter]->() RETURN p ;`)
              .then(function (result){

              result.records.forEach(function(record){
              console.log("record = ", record);
              console.log("result = ", result)
              console.log("1] record._fields[0].properties = ",record._fields[0].end.properties);
              // res.send(record);
              });
              res.send(result);

              })
              .catch(function(err){
              console.log("inside catch = " + err);
              })

              session.close();
              }





              share|improve this answer


























                0












                0








                0







                Thanks. I resolved the issue.
                The place and parameter i was passing in response was incorrect.



                Correct code -



                session

                .run(` MATCH p=()-[r:Parameter]->() RETURN p ;`)
                .then(function (result){

                result.records.forEach(function(record){
                console.log("record = ", record);
                console.log("result = ", result)
                console.log("1] record._fields[0].properties = ",record._fields[0].end.properties);
                // res.send(record);
                });
                res.send(result);

                })
                .catch(function(err){
                console.log("inside catch = " + err);
                })

                session.close();
                }





                share|improve this answer













                Thanks. I resolved the issue.
                The place and parameter i was passing in response was incorrect.



                Correct code -



                session

                .run(` MATCH p=()-[r:Parameter]->() RETURN p ;`)
                .then(function (result){

                result.records.forEach(function(record){
                console.log("record = ", record);
                console.log("result = ", result)
                console.log("1] record._fields[0].properties = ",record._fields[0].end.properties);
                // res.send(record);
                });
                res.send(result);

                })
                .catch(function(err){
                console.log("inside catch = " + err);
                })

                session.close();
                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 16 '18 at 12:25









                TechdiveTechdive

                228117




                228117
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337020%2fneo4j-nodejs-code-doesnt-display-the-entire-nodes-data%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python