我试图用neo4j和nodejs做一个简单的应用程序,但我只是陷入了这个奇怪的反应中。我在neo4j上插入了一些东西,它可以工作,但是当我尝试使用密码来捕获其他节点属性时,我发现这个错误:
Result {
_stack: '\n at captureStacktrace (/home/jake/node_modules/neo4j-driver/lib/v1/result.js:199:15)\n at new Result (/home/jake/node_modules/neo4j-driver/lib/v1/result.js:65:19)\n at Session._run (/home/jake/node_modules/neo4j-driver/lib/v1/session.js:152:14)\n at Session.run (/home/jake/node_modules/neo4j-driver/lib/v1/session.js:130:19)\n at /home/jake/Área de Trabalho/simples/index.js:16:31\n at Layer.handle [as handle_request] (/home/jake/node_modules/express/lib/router/layer.js:95:5)\n at next (/home/jake/node_modules/express/lib/router/route.js:137:13)\n at Route.dispatch (/home/jake/node_modules/express/lib/router/route.js:112:3)\n at Layer.handle [as handle_request] (/home/jake/node_modules/express/lib/router/layer.js:95:5)\n at /home/jake/node_modules/express/lib/router/index.js:281:22',
_streamObserver:
SessionStreamObserver {
_fieldKeys: null,
_fieldLookup: null,
_queuedRecords: [],
_tail: null,
_error: null,
_hasFailed: false,
_observer: null,
_conn: null,
_meta: {},
_session:
Session {
_mode: 'WRITE',
_readConnectionHolder: [Object],
_writeConnectionHolder: [Object],
_open: true,
_hasTx: false,
_lastBookmark: [Object],
_transactionExecutor: [Object] } },
_p: null,
_statement: 'MATCH (p:Person) WHERE p.name =\'$name\' return p.age',
_parameters: { name: 'Jake' },
_metaSupplier: [Function],
_connectionHolder:
ConnectionHolder {
_mode: 'WRITE',
_connectionProvider:
DirectConnectionProvider {
_address: [Object],
_connectionPool: [Object],
_driverOnErrorCallback: [Function: bound _driverOnErrorCallback] },
_referenceCount: 1,
_connectionPromise: Promise { <pending> } } }'要清楚地表明:我只想找到一个节点的名称,然后显示它的年龄。我正期待着一个Json数据..
我的代码:
`const express = require ("express");
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser());
//Conec
const neo4j = require('neo4j-driver').v1;
const driver = neo4j.driver('bolt://localhost:7687', neo4j.auth.basic('neo4j', '123'));
const session = driver.session();
// Data Manipulation
app.post('/', function (req, res){
var find = req.body.pesquisa;
const result_dois = session.run("MATCH (p:Person) WHERE p.name ='$name' return p.age", {name:find});
console.log(result_dois);
res.end();
});如果有人能帮忙..。
发布于 2020-03-28 06:15:46
MATCH (p:Person) WHERE p.name ='$name' return p.age没有必要将$name放入quotations.If中--您这样做,它不会接受参数中传递的值,相反,它将被视为值为"$name“的字符串。
经更正的查询如下:
MATCH (p:Person) WHERE p.name =$name return p.agehttps://stackoverflow.com/questions/60896556
复制相似问题