Neo4j,如果有多个 "child",如何获取所有 "parrents"?
Neo4j, how to get all "parrents" for a "child" if there are more than one?
最后我得到了数据库的初稿,它有两个节点:Authors 和 Books。一切都是按照博客示例创建的。在我的模型中,Authors 替换了 Posts,Books 替换了 Comments。我也有从作者到书籍的关系,所以实际上有 3 个模型 类。我正在使用 RoR。我能够为作者和书籍执行 CRUD。一切正常。简而言之,如果考虑与关系数据库的类比,作者是 "parent",书籍是 "children"。这是我的问题。在一本书的展示中使用
<%= @book.title %>
<%= @book.author.name %>
我只能看到最后一个作者。那里没有没有至少一位作者的书,但有些书可能有不止一位。我怎样才能将它们全部列出来?
进一步阅读 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
它按预期工作。
最后我得到了数据库的初稿,它有两个节点:Authors 和 Books。一切都是按照博客示例创建的。在我的模型中,Authors 替换了 Posts,Books 替换了 Comments。我也有从作者到书籍的关系,所以实际上有 3 个模型 类。我正在使用 RoR。我能够为作者和书籍执行 CRUD。一切正常。简而言之,如果考虑与关系数据库的类比,作者是 "parent",书籍是 "children"。这是我的问题。在一本书的展示中使用
<%= @book.title %>
<%= @book.author.name %>
我只能看到最后一个作者。那里没有没有至少一位作者的书,但有些书可能有不止一位。我怎样才能将它们全部列出来?
进一步阅读 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
它按预期工作。