arangodb 3.1 foxx文档?

arangodb 3.1 foxx文档?,arangodb,foxx,Arangodb,Foxx,我认为arangodb是目前最好的nosql数据库,foxx微服务是一个很好的资源。 唉,3.xxx版本附带的相关文档只能帮助构建一个最低限度的服务。 此外,arangodb商店中的许多应用程序都是使用不推荐的工具(如控制器、存储库)开发的。 虽然web界面中可用的向导可以轻松创建新服务,但我不明白为什么必须创建一个以装入点为前缀的新集合。因此,一个完整的RESTAPI是通过一个很好的文档生成的,但是除非我更改一个已经存在的集合的名称,否则它是绝对无用的。这是为什么 生成器是一个快速样板生成器,

我认为arangodb是目前最好的nosql数据库,foxx微服务是一个很好的资源。 唉,3.xxx版本附带的相关文档只能帮助构建一个最低限度的服务。 此外,arangodb商店中的许多应用程序都是使用不推荐的工具(如控制器、存储库)开发的。
虽然web界面中可用的向导可以轻松创建新服务,但我不明白为什么必须创建一个以装入点为前缀的新集合。因此,一个完整的RESTAPI是通过一个很好的文档生成的,但是除非我更改一个已经存在的集合的名称,否则它是绝对无用的。这是为什么

生成器是一个快速样板生成器,可以让您更轻松地构建原型。实际上,对于真实项目来说,这不是一个很好的起点(特别是如果您已经手动创建了集合),但是如果您只是快速需要一个REST API,您可以使用自己的逻辑进行扩展,它会派上用场

在您阅读文档时,我相信您已经遵循了以下入门指南:

其中,前缀集合名称与非前缀集合名称的推理如下:

因为我们已经硬编码了集合名称,所以在同一数据库中同时安装的服务的多个副本将共享同一集合。因为这可能并不总是您想要的,所以还提供了
collectionName
方法,该方法将特定于装入点的前缀应用于任何给定的集合名称,以使其对服务唯一。它还提供了collection方法,其行为几乎与
db.\u collection
完全相同,只是它在查找集合之前还应用了前缀

在技术方面,进一步规定了该方法的作用:

将给定名称传递给collectionName,然后查找带有前缀名称的集合

Context#collectionName
的文档:

使用此服务的collectionPrefix作为给定名称的前缀

最后是
上下文#collectionPrefix

collection和collectionName将用于派生特定于服务的集合的名称的前缀。这是从服务的挂载点派生出来的,例如,
/my-foxx
变成了
my\u-foxx


因此,是的,如果您只想使用由所有服务共享的集合,那么不固定的版本(直接使用
db
对象)是一个不错的选择。但这通常会鼓励不同服务之间的紧密耦合,首先会破坏将它们作为单独服务的目的,当您需要同一服务的多个实例但不希望它们共享数据时,就会出现问题,因此,大多数示例都鼓励您改用
module.context.collection
方法。

这些新项目中有太多垃圾:(