You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neo4j Cypher中整数列表转换失效问题排查

问题分析与解决

问题原因

apoc.convert.toIntList() 的设计目的是处理字符串类型的数字列表(比如将 ["1", "2", "3"] 转换为整数列表),而非转换Neo4j中已存在的long类型数值。当传入long类型的列表时,该函数不会执行类型转换,直接返回原列表,这就是你看不到转换效果的原因。而 apoc.convert.toStringList() 能生效,是因为它确实会把数值类型转为字符串类型,符合其设计逻辑。

正确解决方案

要将long类型列表转为int类型列表,需要遍历列表逐个转换元素类型,使用Neo4j内置的 toInteger() 函数结合列表推导式即可实现:

修改后的查询语句:

MERGE (bs:Bslot {date: $date})
ON CREATE 
SET bs.slots = [1,2,2,0]
RETURN {slots: [x IN bs.slots | toInteger(x)]}

内容的提问来源于stack exchange,提问作者MichaelE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:25:17