apoc.coll.sortMulti函数
语法 |
|
||
描述 |
根据给定的字段对提供的 |
||
参数 |
名称 |
类型 |
描述 |
|
|
待排序的 Map 列表。 |
|
|
|
用于对 Map 列表进行排序的属性键。默认值为: |
|
|
|
返回的结果数量。默认值为: |
|
|
|
跳过的结果数量。默认值为: |
|
返回 |
|
||
用法示例
以下示例展示了如何分别使用 APOC 和 Cypher 按 name 属性的升序对 Map 列表进行排序
WITH [
{name:'graphs'},
{name:'are',age:32},
{name:'everywhere',age:42}
] AS list
RETURN apoc.coll.sortMulti(list, ['^name']) as output
WITH [
{name:'graphs'},
{name:'are',age:32},
{name:'everywhere',age:42}
] AS list
RETURN COLLECT {
UNWIND list AS x
RETURN x ORDER BY x.name
} AS output
| 输出 |
|---|
[{name: "are", age: 32}, {name: "everywhere", age: 42}, {name: "graphs"}] |
以下示例展示了如何分别使用 APOC 和 Cypher 先按 name 属性升序,再按 age 属性降序对 Map 列表进行排序
WITH [
{name:'graphs'},
{name:'are',age:32},
{name:'are',age:21},
{name:'everywhere'}
] AS list
RETURN apoc.coll.sortMulti(list, ['^name', 'age']) as output
WITH [
{name:'graphs'},
{name:'are',age:32},
{name:'are',age:21},
{name:'everywhere'}
] AS list
RETURN COLLECT {
UNWIND list AS x
RETURN x ORDER BY x.name ASC, x.age DESC
} AS output
| 输出 |
|---|
[{name: "are", age: 32}, {name: "are", age: 21}, {name: "everywhere"}, {name: "graphs"}] |
以下示例展示了如何分别使用 APOC 和 Cypher 按 name 属性升序排序并仅返回一个值
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN apoc.coll.sortMulti(list, ['^name'], 1) as output
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN COLLECT {
UNWIND list AS x
RETURN x ORDER BY x.name LIMIT 1
} AS output
| 输出 |
|---|
[{name: "are"}] |
以下示例展示了如何分别使用 APOC 和 Cypher 按 name 属性升序排序并跳过第一个值
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN apoc.coll.sortMulti(list, ['^name'], -1, 1) as output
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN COLLECT {
UNWIND list AS x
RETURN x ORDER BY x.name SKIP 1
} AS output
| 输出 |
|---|
[{name: "everywhere"}, {name: "graphs"}] |
以下示例展示了如何分别使用 APOC 和 Cypher 按 name 属性升序排序、跳过第一个值并仅返回一个值
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN apoc.coll.sortMulti(list, ['^name'], 1, 1) as output
WITH [
{name:'graphs'},
{name:'are'},
{name:'everywhere'}
] AS list
RETURN COLLECT {
UNWIND list AS x
RETURN x ORDER BY x.name SKIP 1 LIMIT 1
} AS output
| 输出 |
|---|
[{name: "everywhere"}] |