问题描述
有 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{.*}]