我在和Redisgraph合作。
我有一个节点Person,它有三个属性:name(字符串)、age(Number)和isAlive(Boolean)。
如果我将年龄存储为数字,不带引号,它将正确地将其存储为数字。因此,如果我询问:
MATCH (p:Person) RETURN p
我所拥有的是:
{ name: 'John', age: 30, isAlive: 'true' }
但有办法查询并得到真正的布尔值吗?
我想要的是:
{ name: 'John', age: 30, isAlive: true }
谢谢!
2条答案
按热度按时间laximzn51#
听起来像是在使用
redis-cli
查询RedisGraph。处理模块回复的Resp协议只允许字符串和整数作为可以传递的原始数据类型,因此您的请求不能通过redis-cli
完成。但是,所有客户端库都会将回复解码为正确的类型。我建议使用一个作为与RedisGraph-https://oss.redis.com/redisgraph/clients/交互的中介。
6rqinv9w2#
重分析器可以返回紧凑的格式,其中包括值的类型。为了使用它,您需要传递
--compact
标志(该标志也适用于redis-cli):一些客户端库利用这种紧凑格式来返回正确的类型。值的类型以整数形式返回:
您可以阅读有关紧凑格式here的更多信息。