我在Neo4j数据库中导入了CSV文件。部分代码如下所示:
LOAD CSV WITH HEADERS from "file:///AccountTry.csv" as row
WITH row, split(row.birth_date, '-') as date
CREATE (a:AccountTest {id: toInteger(row.id), account_type: row.account_type, first_name: row.first_name, last_name: row.last_name })
并且工作正常。我可以在neo4j浏览器中看到我的所有节点及其属性。 然后,我在rails应用程序中创建了模型:
class AccountTest
include Neo4j::ActiveNode
property :first_name, type: String
property :id, type: Integer
property :last_name, type: String
property :account_type, type: String
end
我做了迁移,工作正常。当我打开rails控制台并尝试“AccountTest.first”时,我得到所有属性,只有属性“AccountTest.id:nil”。
为什么“id”为零?我有6个节点,rails应用程序中的所有节点都有id = nil,但在Neo4j浏览器中,所有节点都有正确的ID。
答案 0 :(得分:0)
我认为您不需要在AccountTest类中声明id属性。此属性是主键,默认情况下存在。
由于这是一个额外的属性(与Neo4j生成的ID不同),我建议您在AccountTest上重命名该属性(例如account_id)并更改CSV导入以将值加载到account_id字段中。