簡體   English   中英

ArangoDB提前請求唯一密鑰

[英]ArangoDB Request Unique Key in Advance

我正在開發一個實時網絡應用程序。 后端是NodeJS和ArangoDB。 我想在創建文檔之前生成並向Web應用程序發送一個唯一的_key。 這樣,可以快速創建文檔,而無需等待來自服務器的響應和新生成的ID。 澄清:

  1. 用戶登錄和Web應用程序從ArangoDB接收唯一密鑰(通過NodeJS)
  2. 用戶創建一個新文檔,Web App為其分配在步驟1中給出的唯一鍵
  3. Web應用程序立即請求使用新的唯一密鑰,以便使用前一個密鑰
  4. 用戶使用步驟1中的唯一鍵將新創建的文檔保存到數據庫中的多個集合之一
  5. Web應用程序更新它的文檔本地緩存,而無需等待數據庫中自動生成的密鑰
  6. 從第2步開始

這只是對預期工作流程的粗略概述。 我相信CouchDB有一個為用戶提供唯一ID的功能: http//docs.couchdb.org/en/1.6.1/api/server/common.html?highlight = id# get--_uuids

我確實在ArangoDB文檔中找到了這段代碼:

FOR i IN 1..10
  INSERT { value: i } IN test
  RETURN { _key: NEW._key, value: i }

它在集合中創建一批唯一鍵。 但是,我不確定這里生成的密鑰對於所有集合是否是唯一的,或者更可能的是,它們是為它們生成的集合。 我的應用程序需要一個可用於任何集合的密鑰。

有沒有辦法獲取可以在ArangoDB的多個集合中使用的一個或多個唯一鍵? 有沒有不同的方法來解決這個問題?

鍵總是相對於集合。 完整文檔_id始終由集合名稱和文檔密鑰組成。

如果你想自己定義鍵,你可以簡單地提供一個_key其保存到秋冬系列時屬性作為文檔的一部分。 當然,這意味着您的應用程序有責任選擇唯一的密鑰並解決任何沖突(即由於重復密鑰而導致的保存失敗)。 如果您不介意格式,UUID是一個不錯的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM