Google api 用于存储Google证书的ArangoDB密钥值

Google api 用于存储Google证书的ArangoDB密钥值,google-api,key-value,arangodb,foxx,Google Api,Key Value,Arangodb,Foxx,如何在ArangoDB中使用承诺的键值存储? 我想以最有效的方式或更好的方式(最方便的方式)存储在ArangoDB中,即关联数组resp。键值。但我在数据库里找不到关于它的任何信息 我提出的解决方案是制作一个文档,它将存储所有密钥,我将像db.Certificates.document('Certificates')[hash]那样访问它,第二个是存储像db.Certificates.insert({u-key':hash,'value':'…google certificate…})这样的文档

如何在ArangoDB中使用承诺的键值存储? 我想以最有效的方式或更好的方式(最方便的方式)存储在ArangoDB中,即关联数组resp。键值。但我在数据库里找不到关于它的任何信息

我提出的解决方案是制作一个文档,它将存储所有密钥,我将像
db.Certificates.document('Certificates')[hash]
那样访问它,第二个是存储像
db.Certificates.insert({u-key':hash,'value':'…google certificate…})这样的文档
我将作为
db.Certificates.document(hash.value)访问哪个

我不喜欢这些解决方案,因为它们看起来不正确,价值比我期望的键值存储更深一层。或者有没有更快的方法来存储证书?也许是RAM而不是db存储?我需要在我的foxx应用程序的所有调用中都可以访问它们,并在它们过期时进行更改。
谢谢。

不,收藏绝对是最好的选择

您可以使用
json.parse()
解析json,然后像这样迭代并保存它们

db.certificates.save({_key: hashkey, value: certificate})
然后使用AQL获取它:

FOR cert IN certificates FILTER _key == '<hashkey>' RETURN cert
对于证书过滤器中的证书_key==''返回证书

如果不需要数据持久化,可以使用volatile集合。易失性集合永远不会同步到磁盘,因此文档(而不是集合本身)将在重启之间丢失——但它们的速度要快得多,因为数据只存在于RAM中

通过传递
isVolatile
选项,可以创建与常规集合类似的volatile集合:

var db = require('org/arangodb').db;
var volatileCollection = db._create('temp', {isVolatile: true});

您可以在“创建集合”一章中找到更多信息:

这些键是否是频繁更改的问题?如果没有,为什么不干脆把它放在foxx服务的源代码中呢?是的,我想,它们每天都会改变一次。答案满足你的需要了吗?如果没有,缺少什么?如果,你能标记它被接受吗?你建议的解决方案我已经知道了,但我正在寻找更好的。volatile collection适合你的需要吗?你能把阿兰的回答标记为已接受吗?