標題:我如何動態地命名一個集合?如何動態命名集合?
僞代碼:collect(n) AS :Label
這樣做的主要目的是在API服務器(節點應用)的屬性的容易閱讀。
放牧,例如:在JSON
MATCH (user:User)--(n)
WHERE n:Movie OR n:Actor
RETURN user,
CASE
WHEN n:Movie THEN "movies"
WHEN n:Actor THEN "actors"
END as type, collect(n) as :type
預期輸出:
[{
"user": {
....
},
"movies": [
{
"_id": 1987,
"labels": [
"Movie"
],
"properties": {
....
}
}
],
"actors:" [ .... ]
}]
我已經得到最接近的是:
[{
"user": {
....
},
"type": "movies",
"collect(n)": [
{
"_id": 1987,
"labels": [
"Movie"
],
"properties": {
....
}
}
]
}]
我們的目標是能夠輕鬆讀取JSON結果如下所示:
neo4j.cypher.query(statement, function(err, results) {
for result of results
var user = result.user
var movies = result.movies
}
編輯: 我在不能正確地命名數據庫的語義對於任何混亂表示歉意。
您可以在輸出的預期增加時,有兩個相關的電影和演員?你將同時在同一行中得到兩個... – InverseFalcon
我不知道我理解你。每當我在一個工作數據集上嘗試這個時,collect(n)設法將兩個集合分成兩個不同的數組,這就是爲什麼我需要動態地命名該數組集合,而不是返回數據中的collect(n)。 我正在尋找的是一種方式來做var movies = response.movies等。 –
我已經更新了示例,希望能夠澄清預期的輸出。 –