如何使用 JS API 将整个对象插入 Neo4J 中? (不提供每一个属性)
我尝试了以下方法。( link )
session.run('UNWIND $obj as obj2 \n CREATE (p:Animals) \n set p=obj2 \n RETURN p', { obj: results.value })
哪里
results.value = {id:"abc", name:"xyz",createdOn: new Date()}
但它给出了以下错误
Neo4jError: Property values can only be of primitive types or arrays thereof
谁能帮忙解决这个问题吗?
最佳答案
Neo4j 数据库支持类型属性 ( docs ):
- 整数
- float
- 字符串
- bool 值
- 这些类型的列表
存储在 results.value
中的对象可能有一个包含复杂对象的属性,例如:
{
prop1 : 1
complexProp : {
propX : "abc",
propY : 1,
}
}
在上述结构的情况下,complexProp
属性将是导致错误的原因,因为它的类型不适合任何 Neo4j 支持的类型。
所以我认为你有两种选择。
1 - 将所有子属性移至根,例如:
{
prop1 : 1
propX : "abc",
propY : 1
}
2 - 为complexType
属性创建不同的节点类型并使用两个节点之间的关系。
关于javascript - 通过 javascript API 将对象插入到 neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49557389/