仅从 neo4j 数据库中获取值
Fetch only values from neo4j database
我正在尝试从我的 neo4j 数据库中获取一些数据并显示在 reactjs 应用程序中的自动建议列表中。我有以下代码来获取数据。
let result = null;
try {
result = await session.run(
'MATCH (n:Person) RETURN properties(n)',
)} finally {
await session.close()
}
await driver.close()
这里Person节点有不同的属性,即所有Person节点的属性都不相同。有些有编辑姓名,有些有作者姓名。我想要做的是只获取没有键的值并将它们分配到数组中。这里
'MATCH (n:Person) RETURN properties(n)'
returns
{
"myName": "myname 1",
"hisName": "myname 2"
}
{
"herName": "myname 3",
"theirName": "myname 4"
}
和'MATCH (n:Person) RETURN keys(n)'
returns
["myName"]
["hisName"]
["herName"]
["theirName"]
但我只想获取值 [myname 1, myname 2, myname 3, myname 4]
你能告诉我如何只获取值吗?
还有如何将这些值保存在数组中?
这会起作用。
MATCH(n:Person)
RETURN apoc.coll.flatten(COLLECT(EXTRACT(key IN keys(n) | n[key])))
p.s。抱歉,EXTRACT() 已被弃用。下面更好
MATCH(n:Shima)
RETURN apoc.coll.flatten(COLLECT([key IN keys(n) | n[key]]))
这是获取 Person class 中键 myName 的所有值的方法。
使用 EXISTS
检查节点是否有此 属性
使用“COLLECT”将值放入数组中。
MATCH (n:Person)
WHERE EXISTS(n.myName)
RETURN collect(distinct n.myName)
示例结果:
[“Zhen”、“Praveena”、“Michael”、“Arya”、“Karin”、“Adam”、“John”、“mary”、“jack”、“david”、“tom”]
我正在尝试从我的 neo4j 数据库中获取一些数据并显示在 reactjs 应用程序中的自动建议列表中。我有以下代码来获取数据。
let result = null;
try {
result = await session.run(
'MATCH (n:Person) RETURN properties(n)',
)} finally {
await session.close()
}
await driver.close()
这里Person节点有不同的属性,即所有Person节点的属性都不相同。有些有编辑姓名,有些有作者姓名。我想要做的是只获取没有键的值并将它们分配到数组中。这里
'MATCH (n:Person) RETURN properties(n)'
returns
{
"myName": "myname 1",
"hisName": "myname 2"
}
{
"herName": "myname 3",
"theirName": "myname 4"
}
和'MATCH (n:Person) RETURN keys(n)'
returns
["myName"]
["hisName"]
["herName"]
["theirName"]
但我只想获取值 [myname 1, myname 2, myname 3, myname 4]
你能告诉我如何只获取值吗? 还有如何将这些值保存在数组中?
这会起作用。
MATCH(n:Person)
RETURN apoc.coll.flatten(COLLECT(EXTRACT(key IN keys(n) | n[key])))
p.s。抱歉,EXTRACT() 已被弃用。下面更好
MATCH(n:Shima)
RETURN apoc.coll.flatten(COLLECT([key IN keys(n) | n[key]]))
这是获取 Person class 中键 myName 的所有值的方法。
使用 EXISTS
检查节点是否有此 属性使用“COLLECT”将值放入数组中。
MATCH (n:Person) WHERE EXISTS(n.myName) RETURN collect(distinct n.myName)
示例结果:
[“Zhen”、“Praveena”、“Michael”、“Arya”、“Karin”、“Adam”、“John”、“mary”、“jack”、“david”、“tom”]