2015-07-28 82 views
0

我是couchbase和couchnode的新手。考慮到coucher Documentation, upsert回調函數只返回err和CAS。我想要更新或插入對象作爲迴應。我怎樣才能做到這一點?Couchnode Upsert響應

以下是upsert函數的文檔詳細信息。

UPSERT(元組,[選項,]回調)→剷鬥

  • 元組:元組
  • 選項(連鍵和相應值對象):對象

    • CAS :要檢查的CAS值。如果服務器上的密鑰包含不同CAS值,則操作將失敗。請注意,如果這個
      選項未定義,則不會執行比較。有關爲每個密鑰傳遞CAS令牌的 的詳細信息,請檢查每個密鑰選項。

    • 屆滿(默認0):密鑰的過期時間。如果它等於 零,則該項目永不過期。您也可以使用Unix時間戳或 從當前時間開始秒數,但在後者的情況下秒數不得超過2592000(30天).persist_to

    • (默認爲0):確保此操作是堅持到這許多節點。
    • replicate_to(默認0):確保將此操作複製到此許多節點。
  • 回調(ERR,CAS)
    • CAS號:連鍵和相應的CAS令牌對象。

回答

1

如果upsert操作成功,upserted對象是你傳遞給upsert擺在首位的值完全相同。沒有必要複製這些信息。

如果您的callback位於封閉內部,則始終可以引用您傳遞給upsert的object

+0

謝謝@mnunber 但如果我有我的每個新文檔的自動增量ID。成功插入後,我還需要在最終響應中使用該ID。我如何獲得該ID? –

+0

Couchbase沒有自動增量ID的概念。如果你有一個自動增量的ID,它在你的應用程序的某個地方完成,你應該在你的應用程序代碼中記錄這個。您可以使用couchbase計數器創建自動遞增ID,但在這種情況下,您每增加一個計數器,都會返回該值。 –

+0

謝謝你明白了。 –