【问题标题】:sorted map in cypher密码中的排序地图
【发布时间】:2018-07-16 12:57:28
【问题描述】:

当通过 apoc 的 apoc.map.fromLists(或者我所关心的普通密码)从集合创建地图时,有什么方法可以尊重/保持排序吗?还是只是“这是一张地图,无论如何排序都没有意义”。

具体来说,在执行时

with [{name: "z", a: 1}, {name: "b", b: 1}, {name: "b2", b: 2}] as qs
return apoc.map.fromLists([q in qs | q.name], qs)

我明白了

{
  "b2": {
    "name": "b2",
    "b": 2
  },
  "z": {
    "name": "z",
    "a": 1
  },
  "b": {
    "name": "b",
    "b": 1
  }
}

我确实想拥有的地方

{
  "z": {
    "name": "z",
    "a": 1
  },
  "b": {
    "name": "b",
    "b": 1
  },
  "b2": {
    "name": "b2",
    "b": 2
  }
}

【问题讨论】:

    标签: neo4j cypher neo4j-apoc sortedmap


    【解决方案1】:

    抱歉,Cypher 中的地图是未排序和不可排序的结构,就地图键而言。

    apoc.maps.sortedProperties(),但它不返回映射,而是返回键/值对列表,其中这些对按字母顺序排序。

    【讨论】:

    • 我明白了,所以除了字母键之外就没有办法控制地图的排序了吗?
    • 对,映射结构中没有用于键排序的概念。您需要将其转换为可以排序的非地图结构,例如提供的 APOC 函数。
    猜你喜欢
    • 2012-11-04
    • 2020-04-22
    • 2011-06-15
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多