我正在使用带有neo4j数据库的rails应用程序,最近我将Neo4j服务器从v 2.x更新到3.x,将gem neo4j从7.x更新到8.x。在我的应用程序中拥有这些模型:
class Country
include Neo4j::ActiveNode
property :summary, type: String
property :code, type: String
has_many :out, :provinces, type: :placed, model_class: :Province
end
class Province
include Neo4j::ActiveNode
property :summary, type: String
property :code, type: String
has_one :in, :country, type: :placed, model_class: :Country
end
当我尝试以这种方式进行查询时:
Neo4j::Core::Query.new.match(p: Province, c: Country).match("(c)-[PLACED]->(p)").order_by('p.summary').return(:p).pluck(:p)
我检索此错误:
Neo4j::Core::Query.new.match(p: Province, c: Country).match("(c)-[PLACED]->(p)").order_by('p.summary').return(:p).pluck(:p)
NoMethodError: undefined method `_query' for nil:NilClass
以及 Neo4j::Core::Query 类执行的其他类似查询的相同方式。
我做错了什么?
neo4j-core
API 在最新版本的 gem 中已更改。 您应该查看升级指南:
http://neo4jrb.readthedocs.io/en/8.0.x/UpgradeGuide.html