2017-12-27 1041 views
1

我試圖找到文檔描述限制什麼可以在JavaScript Foxx微服務中運行的事務內安全地訪問。我讀過某處(現在找不到它),除了通過事務參數數組傳遞的內容外,您無法訪問任何內容,並且必須重新導入事務中使用的所有節點模塊。我很好奇我可以安全地傳入事務 - 比如ArangoDB數據庫對象本身(取而代之還是重新導入它),爲什麼存在這些限制以及性能影響(對象封送?)。在我對單節點服務器的測試中,似乎訪問外部定義的變量確實可行,所以我認爲這些限制與數據庫服務器/集羣的更復雜配置有關。ArangoDB:Foxx服務中的交易限制

謝謝!

回答

0

我讀的地方(找不到了),你不能訪問除了什麼是通過交易空前絕後參數數組

這適用於UDF的(用戶定義的函數) ,而不是Foxx的微服務。

我相信所有關於福克斯的注意事項都在手冊中:

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

特別是:

  • 「你不應該依賴於服務器端的狀態(比其他數據庫本身),因爲沒有辦法確保連續的請求將在相同的上下文中處理。「

  • 「因爲JavaScript代碼在數據庫中運行......所有的Foxx和ArangoDB API都是純同步的,應該被視爲阻塞。」