问题标签 [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.

0 投票
1 回答
441 浏览

arangodb - Foxx 服务日志记录

按照文档,应该可以从 Foxx 服务登录。https://docs.arangodb.com/2.8/Foxx/Develop/Console.html (看起来这是旧版本的,而新版本的文档中缺少)

在我的剧本中是一个console.info("this is a test");,但它去哪里了,我该如何阅读它?

我找不到 _foxxlog 集合,不确定它应该在哪里以及哪些用户应该具有访问权限。Arango 的管理界面中有一个日志页面,但它不存在。

文档内容为:As the log entries are logged to a collection in the database, you can easily query them in your own application. 什么数据库中的什么集合,如果我查看所有这些集合,任何地方都没有日志记录集合。

更新

找到了 foxx-manager 应用程序,命令行功夫,它有一个development不在帮助中的选项,所以这都是猜测。起初这不起作用,但现在我添加--server.database <mydb>了这个命令执行得很好。仍然不知道日志数据在哪里。

命令结果

Activated development mode for Service undefined version undefined on mount point /geo

这是我的 Foxx 服务的挂载点吗?这是我应该能够找到日志数据的新点吗?都试过了,还是不行。现在我登录到我不知道的某个地方并在某个地方激活了某个挂载点?!

结论

  1. 创建一个包含console.info("test");
  2. 激活开发模式foxx-manager development --server.database <db> <service mount>
  3. 使用日志菜单
  4. 更新后重新激活开发模式
0 投票
1 回答
73 浏览

arangodb - 对象数组数据类型

此 AQL 返回一个我想使用的对象。

这将返回此对象:

然后我想像这样拿钥匙:

当我制作小提琴时,这在 JavaScript 中有效,但在 Foxx 中无效。

374875

为什么这会在 Foxx 中返回“未定义”但在 Fiddle 中返回正确的数据?

0 投票
1 回答
194 浏览

javascript - 如何将 Foxx 中的 json 对象数组发布到 arangodb

我正在尝试使用 arangodb 在 Foxx 中创建一个简单的现有微服务。我已经按照入门指南进行操作,但我对 javascript 还是很陌生,所以我确信这很简单。

这显然是好的。但是,我想加载批量有效负载

我有这个失败(内部服务器错误)。

a) 我该如何做这个简单的任务

b)调试脚本的最佳方法是什么

谢谢!

0 投票
2 回答
168 浏览

iis - ArangoDB(3.1.18)身份验证不适用于具有反向代理的本地主机

我在网络服务器(带有 IIS 的 Windows)上设置了一个 ArangoDB,并打算通过 IIS 使用反向代理将其公开给网络,但我希望客户端被迫使用身份验证。我找不到通过所需身份验证访问 FOXX 服务的方法。

我添加了一个数据库'common'并安装了一个 FOXX 服务

我可以在浏览器中使用类似的 URL 来使用该服务

它返回我请求的 JSON。但它从不要求我提供凭据。因此,如果我通过 IIS 公开此服务,例如:

访问服务没有限制!

arangod.conf 看起来像这样(实际上没有改变)

那么我做错了什么?我是否只使用内部端点?有公开的吗?我尝试了各种组合:

但无法弄清楚。我是在尝试不可能的事情,还是错过显而易见的事情?

0 投票
0 回答
55 浏览

node.js - 通过节点代理请求到 ArangoDB Foxx

我正在尝试利用 ArangoDB Foxx 的会话管理功能,但我在理解工作流程方面有点吃力。

我在 Foxx 中创建了一些 API,我希望客户端调用这些 API。但是,我知道为了保护 API,我需要让客户端通过我的服务器将请求中继到服务。(所以我可以保护我的秘密 API 密钥安全)

NodeJS 正在托管我的网站,我希望它将我的请求从客户端代理到 Foxx。我认为客户端向 Node 发出请求,然后 NodeJS 使用 API 密钥对请求进行哈希处理,然后将请求转发到处理身份验证的 Foxx。然后 Foxx 将通过 NodeJS 将身份验证 cookie 发送回客户端。

我的想象是否正确?如果是这样,Node(或 Express)中的什么函数可以让我拦截请求并使用 API 密钥对其进行哈希处理?cookie 是如何通过 Node 发送回客户端的?

谢谢!

0 投票
0 回答
310 浏览

cryptography - ArangoDB Nonce 工作流程

ArangoDB 文档在这里讨论了几个 nonce 函数:

https://docs.arangodb.com/3.1/Manual/Appendix/JavaScriptModules/Crypto.html

我理解我会创建一个随机数,将其发送到客户端,使用随机数散列密码并将其发送到服务器的想法。但是我真的不明白这两个功能是如何协同工作来实现这一切的。

有人可以详细说明此文档和流程吗?如果我将随机数和密码散列在一起,我如何将它与已经散列的存储密码进行比较?只是在寻找有关该过程的一些指导。谢谢!

更新更多细节:

我正在研究身份验证代码。我想总的来说,我试图了解 ArangoDB 加密库中的两个函数以及它们如何协同工作。该文档没有详细说明。我在维基百科上找到了这个工作流程:https ://en.wikipedia.org/wiki/Cryptographic_nonce但我不确定我是否理解它。

在此处输入图像描述

  1. 客户端登录页面向服务器请求一个随机数。服务器提供。然后服务器是否将这个 nonce 存储为用户会话以供以后检索?
  2. 客户端使用来自服务器的随机数对密码进行哈希处理,客户端也创建了随机数,并将用户名、客户端随机数和加密密码发送到服务器。
  3. 服务器如何将散列的密码与随机数和客户端随机数与数据库中已经散列和存储的密码进行比较?与其使用随机数和随机数对密码进行哈希处理,不如只使用随机数之一作为密钥对其进行加密?

ArangoDB 加密库提供了两个函数 createNonce,这很明显,但随后它提供了 checkAndMarkNonce。这如何适应工作流程?除非我将它存储在会话变量中,否则如何检查返回的随机数?如果它与密码一起散列,我如何检查随机数?这个维基百科的例子是错的,还是我遗漏了一些关键组件?

0 投票
1 回答
217 浏览

debugging - Foxx 应用程序 - 远程调试/断点

我正在使用 ArangoDB V2.8 + foxx 开发应用程序,我需要使用传统断点调试/运行 javascript 代码。

是否有任何允许这样做的 foxx 选项或外部框架?

0 投票
0 回答
42 浏览

linux - 在 centos 6.9 中执行 arangod 3.2 时出错

我尝试在我的服务器 centos 6.9 中执行 arangodb 3.2(版本更新)但不工作,我能做些什么来修复它?

0 投票
1 回答
109 浏览

arangodb - Arangodb/Foxx 如何在不同文件中拆分路由?

如何将路由拆分为不同的文件?

这是我尝试过的,但没有奏效:

并且条目文件作为一个函数工作:

1)如何在js文件中修改路由器并重用?

2)知道如何处理文件夹'routes'中的所有js文件来定义路由器,从而最小化路由文件的定义吗?

0 投票
1 回答
382 浏览

arangodb - ArangoDB 和 Foxx - 来自 GET 的多个查询参数

(对不起新手问题,但在文档中不容易找到)

我想拥有一个包含几个模型的文档存储,然后在我的 Foxx 服务中使用一些属性作为查询中的参数。假设我有一个用于电影和连续剧集的数据库:

我需要能够搜索

当然,我想做的是拥有一个同时支持 GET /?type=movie&year=x&director=y.. GET /?type=series&season=x&episode=y 的单个路由器这可能吗?容易做到吗?

我找不到,所以我开始认为我必须为每种类型设置不同的路由器,如下所示:

这将是一项繁重的维护工作。理想情况下,我只会更新模型并使用一个路由器。

即使对于最后一个选项,我也有一个问题:如何将多个参数传递给查询?我找不到语法。

任何帮助表示赞赏。我正在学习 ArangoDB,我对它的潜力非常感兴趣,但我无法浏览我看到的文档或示例。

谢谢