neo4j 그래프 데이터베이스에 연결하기 위해 node-neo4j를 사용하고 있습니다. 모든 노드 (예 : 사용자)를 가져올 때마다 json 결과 리턴이 필요하지 않은 정보를 너무 많이 가지고 있음을 발견했습니다. 여기 node-neo4j 데이터 반환 노드를 얻는 방법
모든 사용자 노드를 반환하는 코드입니다 :User.getAll = function (callback) {
var query = [
'MATCH (user:User)',
'RETURN user',
].join('\n');
db.query(query, null, function (err, results) {
if (err) return callback(err);
var users = results.map(function (result) {
return new User(result['user']);
});
callback(null, users);
});
};
그리고 그것은 나에게이 json으로 respsonse 준을;
[
{
"_node": {
"_nodeNeo4j": {
"version": "1.1.0",
"constructor": "Node"
},
"_data": {
"extensions": {},
"outgoing_relationships": "http://localhost:7474/db/data/node/13/relationships/out",
"labels": "http://localhost:7474/db/data/node/13/labels",
"all_typed_relationships": "http://localhost:7474/db/data/node/13/relationships/all/{-list|&|types}",
"traverse": "http://localhost:7474/db/data/node/13/traverse/{returnType}",
"self": "http://localhost:7474/db/data/node/13",
"property": "http://localhost:7474/db/data/node/13/properties/{key}",
"properties": "http://localhost:7474/db/data/node/13/properties",
"outgoing_typed_relationships": "http://localhost:7474/db/data/node/13/relationships/out/{-list|&|types}",
"incoming_relationships": "http://localhost:7474/db/data/node/13/relationships/in",
"create_relationship": "http://localhost:7474/db/data/node/13/relationships",
"paged_traverse": "http://localhost:7474/db/data/node/13/paged/traverse/{returnType}{?pageSize,leaseTime}",
"all_relationships": "http://localhost:7474/db/data/node/13/relationships/all",
"incoming_typed_relationships": "http://localhost:7474/db/data/node/13/relationships/in/{-list|&|types}",
"data": {
"uid": "53c7a820-f0b4-11e3-af63-28373723792e",
"name": "user1"
}
}
}
},
어쨌든 사이퍼의 결과 중 "데이터"부분 만 반환하겠습니까? 또는 결과를 클라이언트에 반환하기 전에 node.js 서버에서 불필요한 부분을 제거해야합니까?
감사합니다.
는 대신 노드의 필드를 반환하는 쿼리를 업데이트 할 수
더 좋은 방법이 있나요? – hrusli
더 나은 방법은 노드의 속성 만 반환하는 새로운 트랜잭션 cypher 끝점을 사용하는 것입니다. docs.neo4j.org/chunked/milestone/rest-api-transactional.html –