2015-12-03 22 views
0

如果我提供db.save({id: 'someid' , name: object.name});提供了使用上的六翼天使的包裝

ID創建一個新的對象自己的對象ID,它返回錯誤說的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的文檔熾天使包裝可以在這裏找到:https://github.com/brikteknologier/seraph

回答

1

默認情況下,六翼天使把屬性名id爲保留關鍵字。在這種情況下,如果在您傳遞給save()的對象中指定了id屬性,則Seraph會假設您正在嘗試更新具有該標識符值的現有節點。

seraph()初始化函數的文檔指出它使用id作爲的默認名稱:他們創建時

屬性熾天將增加新的節點,它會 用來查找節點時,用node.save等執行更新。

如果你也想自己指定的標識符屬性的節點,那麼你必須要使用這些選項之一:

  1. 使用比id您識別其他屬性名稱。
  2. 在調用seraph()初始化函數時,通過id選項,如記錄的那樣,使用除「id」(比如「foo」)以外的某個值。如果你這樣做,那麼你可以使用id作爲你自己的標識符。

請注意,爲了使用自己的標識符更新節點,您首先需要撥打find()

+0

感謝您的回答。你答案的最後一行真的總結了一些事情。這正是我試圖避免的,但看起來沒有其他選擇。儘管感謝您的回答 –

相關問題