【问题标题】:ArangoDB: Transaction restrictions within Foxx serviceArangoDB:Foxx 服务中的事务限制
【发布时间】:2017-12-27 19:14:51
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: transactions arangodb foxx


    【解决方案1】:

    我在某处(现在找不到)读到,除了通过事务参数数组传递的内容之外,您无法访问任何内容

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

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

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

    特别是:

    • “你不应该依赖于不同请求之间的服务器端状态(除了数据库本身),因为没有办法确保在相同的上下文中处理连续的请求。”

    • “因为 JavaScript 代码在数据库中运行……所有 Foxx 和 ArangoDB API 都是纯同步的,应该被视为阻塞。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 2018-03-17
      • 2010-10-03
      相关资源
      最近更新 更多