gpt4 book ai didi

key - ArangoDB 提前请求唯一键

转载 作者:行者123 更新时间:2023-12-02 07:25:15 25 4
gpt4 key购买 nike

我正在开发一个实时网络应用程序。后端是NodeJS和ArangoDB。我想在创建文档之前生成一个唯一的 _key 并将其发送到网络应用程序。这样就可以在运行中快速创建文档,而无需使用新生成的 ID 等待服务器的响应。澄清一下:

  1. 用户登录,Web 应用程序从 ArangoDB 接收唯一 key (通过 NodeJS)
  2. 用户创建一个新文档,Web App 为其分配第 1 步中提供的唯一键
  3. Web 应用程序立即请求一个新的唯一 key 以供使用,因为之前的 key 正在使用中
  4. 用户使用步骤 1 中的唯一键将新创建的文档保存到数据库中的多个集合之一
  5. Web 应用更新其本地文档缓存,无需等待从数据库自动生成的 key
  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 }

它在集合中创建一批唯一键。但是,我不确定此处生成的键是否对所有集合都是唯一的,或者更可能的是,只是为它们生成的集合。我的应用需要一个可用于任何集合的 key 。

有没有办法从 ArangoDB 中获取一个或多个可用于多个集合的唯一键?有没有不同的方法来解决这个问题?

最佳答案

键总是相对于集合。完整文档 _id 始终由集合名称和文档键组成。

如果你想自己定义键,你可以简单地提供一个 _key 属性作为文档的一部分,当它保存到 w 集合时。当然,这意味着您的应用程序有责任选择唯一键并解决任何冲突(即由于重复键导致的保存失败)。如果您不介意格式,UUID 是一个不错的选择。

关于key - ArangoDB 提前请求唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com