2017-05-04 39 views
1

我需要通過正則表達式篩選某些節點,但由於Arango v2.8沒有此功能,我想嘗試註冊用戶功能,任何人都可以給我一個如何註冊的示例一個簡單的功能,並在AQL中使用它?Arangov2.8 - AQL中的註冊用戶功能示例

我想:

var myfunc = function (ideation_node) { 
    for (var i = 0; i < ideation_node.length; ++i) { 

    if (true) { 
     return ideation_node[i]; 
    } 
    } 
    return null; 
} 

RETURN myfunctions::myfunc() 

回答

1

您使用triagens/ArangoDb/AqlUserFunction註冊用戶的功能。

$funcHandler = new \triagens\ArangoDb\AqlUserFunction($arangoConnection); 
    $funcHandler->name = 'myfunctions::myFunc'; 
    $funcHandler->code = 'function(ideation_node){...}'; 
    $funcHandler->register();  

在註冊功能AQL-語句用於像任何其他功能,採用函數的完全合格的(即,與命名空間前綴)名稱。

確保函數不帶副作用,不要操縱輸入參數,但使用返回值將計算結果傳遞給外部世界。