我在neo4j中存储dateBirth
毫秒。
使用浏览器时,我得到了这个:
match (u:User) return u.dateBirth // Returns -2209078800000
当使用螺栓驱动程序(neo4j v3-javascript)时,我得到了这个:
match (u:User) return toInt(u.dateBirth) as dateBirth
// Returns: Integer { low: -1465609856, high: -515 }
如何在JavaScript中将此整数对象转换为原始数字?
答案 0 :(得分:3)
如readme中所述:
Neo4j类型系统包括64位整数值。但是,Javascript只能安全地表示 - (253-1)和(253-1)之间的整数。为了支持完整的Neo4j类型系统,驱动程序包含一个显式的Integer类型。每当驱动程序从Neo4j接收到Integer值时,它将由驱动程序用Integer类型表示。
您可以使用toInt()
(假设为32位整数)或toNumber()
转换为最近的浮点javascript数字类型。
Integer
类型的详细文档可用here。
答案 1 :(得分:0)
我正在使用here中的此功能。到目前为止效果很好!
function toNumber({ low, high }) {
let res = high
for (let i = 0; i < 32; i++) {
res *= 2
}
return low + res
}