微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Neo4J - 根据某些不存在的属性获取过滤结果

如何解决Neo4J - 根据某些不存在的属性获取过滤结果

product 可以有多个 Productimage。我想根据图像属性 isUseful 获取产品(给定其 ID)及其关联图像。只应获取那些没有可用的 isUseful 属性的图像。我有这个查询

MATCH (product:Product)
      WHERE product.id = $productId    
      RETURN product{
        .*,images: [(product)<-[:BELONGSTO]-(image:Productimage {isUseful: null}) | image{.*}]
}

查询不返回任何结果。但是数据库中有记录。请注意,我只能更改 return 块中写入的内容。其他什么都不能改变。

解决方法

你不能在 null 上使用相等,你需要使用 IS NULL。请在此处查看文档:

https://neo4j.com/docs/cypher-manual/current/syntax/working-with-null/

因此,您需要将 WHERE 子句添加到您的模式理解中以获得您想要的结果:

[(product)<-[:BELONGSTO]-(image:ProductImage) WHERE image.isUseful IS NULL | image{.*}]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。