ArangoDB:Foxx服务中的交易限制

问题描述 投票:1回答:1

我正在尝试找到描述在javascript Foxx微服务中运行的事务中可以安全访问的限制的文档。我曾经读过某个地方(现在找不到)除了通过事务参数数组传递的内容之外你无法访问任何内容,并且必须重新导入事务中使用的所有节点模块。我很好奇我可以安全地传递给事务 - 例如ArangoDB数据库对象本身(而不是重新导入它),为什么存在这些限制,以及性能影响是什么(对象编组?)。在我对单节点服务器的测试中,似乎访问外部定义的变量确实有效,因此我认为这些限制与数据库服务器/集群的更复杂配置有关。

谢谢!

transactions arangodb foxx
1个回答
0
投票

我曾经读过某个地方(现在找不到),除了通过事务参数数组传递的内容之外,你无法访问任何东西

这适用于UDF(用户定义的函数),而不适用于Foxx微服务。

我相信关于Foxx的所有注意事项都在手册中:

https://docs.arangodb.com/3.3/Manual/Foxx/

特别是:

  • “你不应该依赖不同请求之间的服务器端状态(数据库本身除外),因为无法确保在同一个上下文中处理连续的请求。”
  • “因为JavaScript代码在数据库中运行......所有Foxx和ArangoDB API都是纯粹同步的,应该被视为阻塞。”
© www.soinside.com 2019 - 2024. All rights reserved.