Neo4j,如果有一个以上的孩子,如何让所有“父母”成为“孩子”?

时间:2015-02-02 20:50:56

标签: neo4j

最后,我得到了数据库的初稿,它有两个节点:作者和书籍。一切都是根据博客示例创建的。在我的模型中,作者将替换帖子和书籍替换评论。我还有从作者到书籍的关系,所以实际上有3个模型类。我正在使用RoR。我能够为作者和书籍执行CRUD。一切都很好。简而言之,如果考虑与关系数据库进行类比,作者是“父母”,书籍就是“孩子”。这是我的问题。在使用
一本书的节目中 <%= @ book.title%> <%= @ book.author.name%> 我只能看到最后一位作者。没有至少一位作者没有书籍,但有些书籍可能不止一本。我怎么能列出所有这些?

1 个答案:

答案 0 :(得分:0)

https://github.com/neo4jrb/neo4j/wiki/Search-and-Match上阅读更多内容后 我能够找出解决方案:

title = Book.first.title
result = Author.query_as(:author).match("author-[:authored_book]->(book:Book)").where(book: {title: title}).pluck(:author, :book)
result.count

result.each do |author, book|
  puts book.title
  puts author.name
end

result.each do |author,book|
  puts author.name
end

它按预期工作。