Cla*_*lam 4 ruby-on-rails relationship neo4j neo4j.rb
我还没有真正的代码,但我与我需要的相反
current_user.friends(:f).match_to(event)
这将返回与我的事件节点有关系的朋友.我需要的是那些没有这种关系的人.
我是否必须像在文档中那样提供它
blog.query_as(:blog).match("blog<-[:COMMENTS_ON]-(:Comment)<-[:AUTHORED]-(author:Person)").where("author.age > 30").pluck(:author)
但没关系?
所以像
current_user.friends.query_as(:f).match("event<-[invite:invited]-(f:User)).where(invite: nil)
或者还有另一种方式吗?
该查询不起作用,因为如果在cypher中指定MATCH,则表示该关系必须存在.你需要做的是使用WHERE子句中的匹配ascii语法(neo4j在这种情况下不情愿地支持):
current_user.friends.query_as(:friend).
match(event: {neo_id: event.neo_id}).
where("NOT(friend-[:invited]->(event:Event))").
pluck(:friend)
Run Code Online (Sandbox Code Playgroud)
我觉得你应该能够match(event: event)在第二行做到这一点.你可能会,但我忘记了.
还要注意的是match_to适用于最近在链协会(所以在你的第一个例子中,你会尽力把比赛event的对象与用户的朋友之一,这是行不通的).
| 归档时间: |
|
| 查看次数: |
203 次 |
| 最近记录: |