标签: foxx

在Arango Foxx中构建应用程序的功能超出了常规节点应用程序

我正在学习更多关于ArangoDB和它的Foxx框架.但是我不清楚通过使用该框架构建我自己的独立nodejs应用程序来获取API /访问控制,逻辑等,我获得了什么.

Foxx提供的常规nodejs应用程序不会提供什么?

arangodb foxx

10
推荐指数
1
解决办法
1490
查看次数

Foxx/ArangoDB服务器是否支持Socket.IO?

我想知道Foxx/ArangoDB是否支持Socket.io?或者,如果我想使用sockets.io,我是否必须启动一个单独的Express.js服务器?

socket.io arangodb foxx

7
推荐指数
1
解决办法
672
查看次数

如何在服务器根目录下设置Foxx App?

我想知道如何在服务器/ IP /域名的根目录下设置Foxx应用程序?

例如,如果我的IP是,100.12.32.12 如果我去http://100.12.32.12它将打开没有URL重定向的单页foxx应用程序.

我试过的事情

  1. 目前我让Arangodb使用tcp://0.0.0.0:80端点,所以我得到了端口工作.

  2. 我还在index.html我的应用程序中设置了一个文件manifest.json并将该应用程序安装到/

    但是目前http://100.12.32.12 我将重定向到http://107.170.131.61/_db/_system/index.html哪个有效,但URL已更改.

    http://100.12.32.12/index.html有效,但我想知道是否可以http://100.12.32.12在没有重定向的情况下显示应用程序.

  3. 我尝试过,sudo arangod --javascript.app-path /path/to/app但似乎没有用.

谢谢.我是Arangodb和Foxx的新手.

arangodb foxx

5
推荐指数
1
解决办法
477
查看次数

为什么org/arangodb /请求是同步的?

为什么新的JavaScript模块请求同步?它应该只用在作业队列中吗?

有没有办法在ArangoDB中发出异步http(s)请求?

javascript arangodb foxx

5
推荐指数
1
解决办法
451
查看次数

ArangoDB Foxx 作为 REST 后端

我正在开发一款应用程序,它将极大地受益于 Arangos 的多模型功能。考虑到应用程序对后端的需求,我得出的结论是,大多数(如果不是全部)都可以通过 REST API 提供服务,以帮助更清晰的设计,以便将来的开发和与其他应用程序的集成。然后,多个 Web 和移动前端框架将使用该 API 来处理其余逻辑。该项目将使用 NodeJS 生态系统,使用 Javascript 进行整个堆栈的开发。

问题本身:

是否应该并且可以使用 arangodb + Foxx 创建完整的后端堆栈来服务 REST API,从而避免堆栈中的另一层/组件?例如express/hapi/loopback等。

主要后端要求:

  • 使用角色进行身份验证
  • 会议
  • 加密
  • 复杂查询(我最初想法的根源,以避免数据库和后端之间的多次跳跃)
  • 条目解析、验证和清理
  • 计划任务

主要寻找:

  • 已知的设计优势
  • 已知的设计限制
  • “隐藏”的瓶颈
  • 其他未来可能出现的遗憾

附带问题(可能回答上面的一些问题):Foxx 可以利用一些通过 npm 提供的节点中间件吗?

在此先感谢您的时间!

rest arangodb foxx

5
推荐指数
2
解决办法
1157
查看次数

ArangoDB 和用户定义的函数或存储过程

ArangoDB 文档(Foxx 部分)说:

由于 Foxx 直接在 ArangoDB 内部运行,因此您可以将处理请求所需的所有数据库查询和逻辑捆绑在一个位置。

除了使用“Foxx 框架”之外,还有其他“更原生”的方法来实现与 ArangoDB 中的用户定义函数或存储过程等效的功能吗?

stored-procedures user-defined-functions arangodb foxx

5
推荐指数
1
解决办法
1452
查看次数

ArangoDB/FOXX 存储库问题

我正在 ArangoDB 中的 FOXX 应用程序的存储库中尝试自定义查询:

        /*clinics.js */  

         'use strict'; 

    var Foxx = require('org/arangodb/foxx');

            var ClinicsRepository = Foxx.Repository.extend({   
// Add your custom methods here

              //Returns all procedures from a clinic, given the clinic id 
getAllProcedures: Foxx.createQuery({
                    query: 'FOR clinic IN exameFacil_clinics FILTER clinic._key == [@id] RETURN clinic.procedures',

                    params: ['id']

                })
 });

            exports.repository = ClinicsRepository;
Run Code Online (Sandbox Code Playgroud)

我按照 Foxx 食谱做了这个,但它总是给我一个错误:

[ArangoError 3103:无法调用模块文件:c:/Program Files/ArangoDB 2.6.2/var/lib/arangodb-apps/_db/_system/exameFacil/APP/controllers/clinics.js]

[Arango错误
3103:无法调用模块文件:c:/Program Files/ArangoDB
2.6.2/var/lib/arangodb-apps/_db/_system/exameFacil/APP/controllers/clinics.js]
在 [object Object].Module.run (C:\Program Files\ArangoDB
2.6.2\bin../share/arangodb/js/common/bootstrap/modules.js:1420:20) 在 ArangoApp.loadAppScript (c:/Program Files/ArangoDB
2.6.2/share/arangodb/js/server/modules/org/arangodb/foxx/arangoApp.js:452:24)
在 mountController (c:/Program Files/ArangoDB
2.6.2/share/arangodb/js/server/modules/org/arangodb/foxx/routing.js:661:7) …

javascript arangodb foxx

4
推荐指数
1
解决办法
311
查看次数

获取"ArangoError:绑定参数'value1'未在查询中声明(解析时)"

我的Foxx应用程序中有这样的代码:

db._query(aqlQuery`
  FOR d IN FULLTEXT('api_texts', '${args.attribute}', '${args.search}')
    SORT d.${args.sort_by} ${args.sort}
    LIMIT ${args.skip}, ${args.limit}
    RETURN d
`).toArray()
Run Code Online (Sandbox Code Playgroud)

它似乎是正确的但由于某种原因它给了我一个错误bind parameter 'value1' was not declared in the query (while parsing).

我试图在arangosh...中运行它同样的错误:

arangosh [ilearn]> db._query({ "query" : "\n        FOR d IN FULLTEXT('api_texts', '@value0', '@value1')\n          SORT d.@value2 @value3\n          LIMIT @value4, @value5\n          RETURN d\n      ", "bindVars" : { "value0" : "title_en", "value1" : "1", "value2" : "created_at", "value3" : "ASC", "value4" : 0, "value5" : 10 } })
JavaScript exception in …
Run Code Online (Sandbox Code Playgroud)

arangodb foxx

4
推荐指数
1
解决办法
909
查看次数