我已经完成了,我想获得两个节点之间的关系,即用户节点和其他节点。这里用户节点有两种关系(用户) - [:know] - > (其他) 和(用户) - [:friendrequest] - > (其他)
我想做以下事情:
。实际代码就是这个。
User.checkRelationship = function (user, fid, callback) {
var uids = [user.uid, fid];
async.map(uids, User.by_uid, function (err, usernodes) {
if (!err && usernodes && usernodes.length) {
User.relsCheck(usernodes, function (err, rels) {
if (!err && rels) {
console.log('relationship ' + JSON.stringify(rels.data()));
callback(null, rels);
} else {
callback(err || new Error('friend request exists'));
}
});
} else {
callback(err || new Error('Unable to fetch user nodes: ' + uids.join(',')));
}
});
};
User.relsCheck = function (nodes, callback) {
if (nodes.length !== 2) {
return callback(new Error('Invalid/insufficient arguments'));
}
var query = [
'START user=node({userId}), other=node({otherId})',
'MATCH (user) -[rels?:RELTYPE]-> (other)',
'RETURN rels'
].join('\n');
var params = {
userId: nodes[0].node().id,
otherId: nodes[1].node().id,
};
db.query(query, params, callback);
};
查询和回调都有问题 请帮助别人,谢谢!