从Node.js查询Neo4j时看不到任何回调
Unable to see any callback when querying Neo4j from Node.js
我从Node.js向Neo4j发送了一个查询,但没有看到任何回调。查询执行正确,但我无法在回调中看到任何信息并将其记录在控制台中。
我认为node.js会在任何数据到来之前执行console.log,但我不知道如何解决它
Node.js:
// Load Modules
var neo4j = require('neo4j');
// Database Connection
var db = new neo4j.GraphDatabase("http://neo4j:Gemitis26@localhost:7474/");
// Inizialize Query
var query = "CREATE (:Song {name:'James'})";
db.cypher(query, function(err, node){
if(err) throw err;
// Output node properties.
console.log(node.data);
// Output node id.
console.log(node._id);
});
输出:
C:'Users'RRamos'Documents'Projects'test-neo4j>node index.js
[]
undefined
正如我所说,我检查了它,它是正确创建的。
您的代码中存在许多问题:
-
Cypher查询没有
RETURN
子句,因此查询响应将始终为空数组(因为它永远不会包含任何结果行)。 -
您的回调预期响应的数据结构错误。
试试这个代码。它会转储错误(如果有的话)和响应,这样您就可以看到响应的实际数据结构。它还使用for循环来迭代响应中的数据行,并打印出每个s
节点的属性及其本机ID。在您的情况下,最多只有一个结果行,因此循环不是严格必要的,但通常可以有多行。
// Load Modules
var neo4j = require('neo4j');
// Database Connection
var db = new neo4j.GraphDatabase("http://neo4j:Gemitis2@localhost:7474/");
// Inizialize Query
var query = "MATCH (s:Song {name:'James'}) RETURN s";
db.cypher(query, function(err, res){
// Dump out the err and response, to see the data structure.
console.log("err: %j, res: %j", err, res);
if(err) throw err;
// Print out the data for each row in the response.
for (var i = 0; i < res.length; i++) {
var s = res[i].s;
// Output node properties.
console.log(s.properties);
// Output node id.
console.log(s._id);
}
});
相关文章:
- 为什么我在Internet Explorer上看不到html元素
- ajax请求成功,但可以'我看不到我的数据
- 使用jQuery for RSS看不到多个帖子
- 执行此代码时,我看不到警告框
- Javascript 方法看不到对象变量
- Safari Array indexOf找不到任何内容
- 看不到变量
- Phantomjs 看不到 Twitter/Facebook 授权页面
- AS3 XML上的翻页在IE和FIREFOX上看不到
- JavaScript 看不到声明的变量
- 看不到函数外的Javascript变量
- Javascript对象看不到内部函数
- 为什么我的firefox扩展javascript不能访问opener窗口,也看不到window.name
- 从Node.js查询Neo4j时看不到任何回调
- 昨天,我的Date.now()溢出了,我在Google上找不到任何相关结果
- 在网格PhongMaterial地面和聚光灯上看不到任何带有Colada模型的阴影
- 我试着找出一个错误,但我看不到.检查人员没有发现任何错误
- 创建工厂后看不到任何数据
- 为什么我看不到我的html或任何类型的错误
- Javascript验证不工作-我看不到任何错误