如何解决如何通过网络将neo4j cypher result.records作为JSON传递?
我有一个nestjs api REST网关,该网关与nestjs微服务dbserver对话。 dbserver在neo4j 4.1.1数据库中查询网关进行的所有查询。我正在使用的体系结构是一个dbserver,它将接受/响应所有其他需要db服务的服务...。(按比例,我将启动另一个dbserver)。
我的问题是dbserver不知道密码查询的内容,因为密码查询是在网关中构建的,并作为数据字符串传递给dbserver。因此,我不能使用像这样的语句:
const user = result.records [0] .get('user')。properties;
因为dbserver不知道键'user'。 dbserver查询如下所示:
.......
const session = await this.getWriteSession(databaseOrTransaction as string);
const result = await session.run(cypher,params);
session.close();
return result;
所以我想将完整的result.records数组作为JSON对象返回给网关。
解决方法
我不确定该答案是否会涵盖所有用例,但我发现在result.records上使用.map方法可在至少两个用例中提供答案...下面将把result.records转换为数组对象或值数组:
const data = result.records.map(obj => obj.get(0).properties ? obj.get(0).properties : obj.get(0));
这将涵盖
MATCH(v:Person) RETURN v AS vehicles;
和
MATCH(v:Person) RETURN v.name AS names
我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。