从没有CASE的Neo4j密码查询返回布尔值

时间:2016-04-29 05:25:18

标签: node.js neo4j cypher

我知道你可以做到这一点

match (user:User {username:'${username}', password:'${password}'})
            RETURN
            CASE WHEN user.blocked='true' THEN true ELSE false END as blocked,
            user.username as username,
            user.uid as uid

但是我希望找到一个更简单的方法来返回使用cypher的布尔值,我使用nodejs并在每个布尔道具上使用像这样的CASE我的对象看起来非常冗长......有更好的方法吗?感谢

1 个答案:

答案 0 :(得分:3)

你可以替换它:

CASE WHEN user.blocked='true' THEN true ELSE false END AS blocked

用这个:

user.blocked='true' AS blocked

现在,如果您实际在blocked属性(而不是字符串)中存储了布尔值,则可以进一步简化上述内容:

user.blocked AS blocked

除此之外:为了进一步提高效果,您应该使用parameters代替'$ {username}'和'$ {password}'。