问题标签 [foxx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arangodb - Foxx 中更新(补丁)时的 Joi 验证
我使用 arangodb 3.0.2 并且在更新/修补架构时遇到 joi 验证问题。
我有这样的用户架构
当我创建新用户并尝试添加未知字段时,例如状态会抛出错误,
但是如果我更新用户并添加未知字段,它不会引发任何错误。因为它不验证请求模式。
如何在更新/修补用户时验证架构,忽略集合中已经存在的字段?
路线更新:
如您所见,这是我的路线。当我发布新用户时,它会验证用户模式,所以如果我添加未知字段,它会给我一些错误。
但是我修补了用户,它不会验证用户模式,因为在“body”上我没有设置为用户模式。但是如果在那里添加用户模式,它会检查必填字段,所以我不能只修补一些已知字段。
arangodb - 从客户端访问 ArangoDB 数据
我是 ArangoDB 的新手,很高兴它可以直接在数据库中托管微服务。
我将如何跨不同域名直接从客户端(Jquery 或 Angular 或其他)发送查询/加载数据?假设我在 www.example.com (端口 80)上有节点,并希望提供一个(仅)直接从 ArangoDB 读取数据的应用程序。
javascript - 如何分析 ArangoDB Foxx 应用程序中的内存使用情况
对我的 Foxx 应用程序进行压力测试最终导致 ArangoDB 与 SIGSEGV 一起崩溃。查看核心文件似乎与 V8 内存不足有关。我想在堆上进行内存分析以帮助追踪潜在的泄漏。由于 V8 引擎是 arangod 不可或缺的一部分,我如何访问和使用 V8 分析器?帮助解决这个问题的节点模块都有 C++ 模块,因此它们不会在 Foxx 下运行。
arangodb - ArangoDB - 如何获取 2 个集合之间的关系
我有 2 个顶点集合:
users
articles
和 1 个边缘集合:
userfollow
(用户关注其他用户之间的关系)
问题是当用户关注其他用户并且被关注的用户写了一些文章时,如何根据用户关注来获取文章?
arangodb - Foxx:如何不必预先定义 queryParams?
我正在加快使用 ArangoDB 和 Foxx 的速度,到目前为止,体验非常棒!然而我有一个问题:
例如,对于 Foxx 路由器,可以指定 queryParams /graph/nodes?eyes=blue&hair=blond
。
但困扰我的是我被迫(或者至少,在几次尝试后我有这样的印象)我必须硬编码我期望查询参数eyes
和hair
。
这是真的吗?如果是,是否有解决方法?对我来说,这在 nosql 的上下文中有点奇怪,并且能够存储具有集合中想要的任何属性的文档。
我宁愿让我可以在 之后获取 URL 的整个部分,对字符串?
执行 asplit("&")
并捕获请求中的任何内容。
有没有办法在 Foxx 框架内做到这一点?
任何帮助将不胜感激!
ubuntu - 使用 foxx manager 安装 arrangoDB 应用程序时出错
我已经使用 Ubuntu(14.04) 在 AWS 上创建了 EC2 实例。我正在尝试使用 foxx manager 安装 arangodb 应用程序。我已经使用腻子连接到它。我已经使用 sudo apt-get install arangodb 安装了 arangodb。我还在 ubuntu 机器上从 git 获得了项目。当我尝试使用foxx-manager install 安装应用程序时。/DataSandbox它给出的错误为
“StdOut:ArangoError 3103:调用模块失败。
文件:/var/lib/arangodb-apps/_db/_system/DataSandbox/APP/controllers/Reports.js
原因:ArangoError 3100:找不到模块
文件:存储库/报告”
当我检查文件存储库/报告时,它存在,当我检查 /var/lib/arangodb-apps 路径时,它一直存在,直到像 /var/lib/arangodb-apps/_db/_system/DataSandbox/ 这样的 Datasandbox。arangodb-apps 中的 Datasandbox 文件夹为空。
我在不是从 AWS 创建的不同 ubuntu 机器上执行的相同过程。这样就安装成功了。
谁能指导我这个错误找不到模块?
提前致谢。
graph-databases - 在 ArangoDB 中以编程方式创建边
以编程方式在 ArangoDB 中快速创建边缘的最简单方法是什么?
我想基于一个共同的属性创建文档之间的关系。我希望能够选择一个属性,并且对于集合 A 中的每个文档,为集合 B 中在等效属性中具有相同值的每个文档创建一条边。
例如,如果我已将电子邮件消息导入到集合中,而将人员导入到另一个集合中,我想在电子邮件和集合之间生成边缘。电子邮件的架构可能如下所示:
一个人的架构可能如下所示:
假设电子邮件消息中的from
和to
字段中的值对应于我们可能在人员集合中找到的电子邮件地址。
我希望能够将集合、属性和边缘参数作为输入,然后,对于人员集合中的每个文档,为电子邮件集合中的每个文档创建一个边缘,该文档在from
属性中具有相同的电子邮件地址当前文档的email
属性。
到目前为止,我认为 Foxx 可能是最好的工具,但我对文档有点不知所措。
最终,我想基于定义边缘的文档之间的共享属性创建一个完整的 CRUD,包括一个“upsert”等价物——如果边缘已经存在则更新它,如果不存在则创建它。
我知道使用标准 HTTP API 对单个 API 调用执行此操作会太慢,因为我需要为集合中的每个文档查询 Arango 并返回大量结果。
是否已经有 Foxx 服务可以做到这一点?如果没有,我应该从哪里开始创建一个?
cors - ArangoDB:Foxx 会话中间件与 CORS 冲突
我在 ArangoDB 3.0.4 中获取 Foxx 微服务并运行身份验证时遇到了一些问题。Foxx 微服务使用会话中间件来处理身份验证。它通过在 X-Session-Id 标头中存储 JWT 来做到这一点(这不应该特定于使用 JWT)。
只要客户端请求不包含 Origin 标头,它就可以正常工作。但是一旦发生这种情况(我正在使用 Cordova 和 AngularJS 的 $http 客户端,所以我无法阻止它),ArangoDB 设置所有 Access-Control-* 标头(如果我手动设置它们,它们会被覆盖) . 原则上它这样做是正确的,但 Access-Control-Expose-Headers 标头不包含 X-Session-Id。这意味着,我无法在客户端检索 JWT。
如何解决这个问题?我曾考虑将 JWT 添加到每个响应的有效负载中,但这对我来说听起来一点也不好。有没有办法将 ArangoDB 配置为在 Access-Control-Expose-Headers 标头中包含 X-Session-Id?
提前感谢您对此的任何帮助。
stored-procedures - ArangoDB 和用户定义的函数或存储过程
ArangoDB 文档(Fox 部分)说:
因为 Foxx 直接在 ArangoDB 内部运行,它允许您将处理请求所需的所有数据库查询和逻辑捆绑在一个地方。
除了使用“Foxx 框架”来实现与 ArangoDB 中的用户定义函数或存储过程等效的东西之外,还有什么“更原生”的方法吗?
arangodb - Foxx/ArangoDB:你能创建一个符合 JSON API 规范的响应吗?
我目前正在用 Foxx 编写一些微服务,供 Ember.js 使用。Ember 数据与 JSON API ( http://jsonapi.org ) 响应配合得非常好。所以我尝试使用 json-api-serializer ( https://www.npmjs.com/package/json-api-serializer ) 序列化 Foxx 响应 - 但没有运气。我只找到了 forClient 方法,但这仅允许我对单个对象的 JSON 表示进行操作,而不是对整个响应进行操作。所以我的问题是:是否可以使用 Foxx/ArangoDB 实现 JSON API?