如果我在db.save({id: 'someid' , name: object.name});
返回错误,表示id不存在。好吧,我正在尝试创建一个id值为我选择的新对象。有没有办法实现这个目标?
它在文档中说。
Create or update a node. If object has an id property, the node with that id is updated. Otherwise, a new node is created.
我想使用我选择的id创建一个对象,以便稍后我可以使用它进行更新。每次我必须更新它时,我不想读取现有对象的id。
基本上,我的要求是当我创建一个新对象时,我应该能够传入我选择的id。 我在neo4j文档周围使用seraph包装器可以在这里找到:https://github.com/brikteknologier/seraph
答案 0 :(得分:1)
默认情况下,Seraph将属性名称id
视为保留关键字。在这种情况下,如果在传递给id
的对象中指定了save()
属性,则Seraph假定您正在尝试使用该标识符值更新现有节点。 / p>
seraph()初始化函数的文档声明它使用id
作为默认名称:
属性seraph将在创建新节点时添加到新节点 用于在使用node.save等执行更新时查找节点。
如果您还要为节点指定自己的标识符属性,则必须使用以下选项之一:
id
以外的属性名称作为标识符。id
选项,如文档所示,除了" id"之外的其他值。 (例如," foo")调用seraph()
初始化函数时。如果您这样做,那么您可以使用id
作为您自己的标识符。请注意,为了使用您自己的标识符更新节点,您首先需要调用find()
。