neo4j - Neo4j Cypher:返回具有 id 作为字典的节点
问题描述
我有具有这些属性的节点:
MATCH (n:A) RETURN n
[
{
"name": "114s09A.1",
"_id": "114s09A.1",
"id": "114s09A.1",
"created_n4j": "2020-12-21T09:56:11.256000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.256000000Z"
},
{
"name": "114s09A.2",
"_id": "114s09A.2",
"id": "114s09A.2",
"created_n4j": "2020-12-21T09:56:11.257000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.257000000Z"
}
]
有没有办法构建密码查询,以便将结果塑造成字典,其中id
的关键是?
[
{
"114s09A.1": {
"name": "114s09A.1",
"id": "114s09A.1",
"created_n4j": "2020-12-21T09:56:11.256000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.256000000Z"
}
},
{
"114s09A.2": {
"name": "114s09A.2",
"id": "114s09A.2",
"created_n4j": "2020-12-21T09:56:11.257000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.257000000Z"
}
}
]
到目前为止,我最接近的是:
MATCH (n:A) RETURN n._id AS _id, properties(n) AS properties
[
{
"_id":"114s09A.1",
"properties":{
"name": "114s09A.1",
"id": "114s09A.1",
"created_n4j": "2020-12-21T09:56:11.256000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.256000000Z"
}
},
{
"_id":"114s09A.2",
"properties":{
"name": "114s09A.2",
"id": "114s09A.2",
"created_n4j": "2020-12-21T09:56:11.257000000Z",
"type": "A",
"updated_n4j": "2020-12-21T09:56:11.257000000Z"
}
}
]
解决方案
使用默认的 Cypher 语法是不可能的,但是如果你安装了 apoc 库,你可以这样做:
MATCH (n:A)
RETURN apoc.map.setKey({}, n.id, n{.*})
推荐阅读
- node.js - koa/supertest - server.close is not a function
- pandas - Pandas: Applying '&' operator in df.query(), in mutiindex scenario
- sql-server - Connect app in Azure VM to SQL Server in shared environment
- azure-devops - 当有人编辑管道定义时,我如何获得通知?
- windows-mixed-reality - 如果文本转语音过多,我的 HoloLens 2 会关闭
- reactjs - 更改 React 材料表中的 addNewRow 图标位置
- scala - 在函数中使用 ADT 的参数化分支
- html - 将 `nth-of-type` 应用于某个类无法正常工作
- json - URL 查询字符串不起作用!我该如何解决?
- c# - 虚拟助手无法发送新的 QnA maker 知识库