簡體   English   中英

返回語句不適用於 Arangodb 中的用戶定義函數? 如何在 function 中編寫 AQl 查詢?

[英]Return statement not working with User defined functions in Arangodb? How to write an AQl query inside a function?

require("@arangodb/aql/functions").register(
    "MYFUNCTIONS::VERTEX::INDEGREE", 
    function(vertex,edge, node) {
        "use strict"; 
        AQL_Query(
            (return( "for t in Transaction  collect vertex_count=t._from with into n return x"))
        )
    }
);

引發以下異常

JavaScript exception: SyntaxError: Unexpected token 'return'
!require("@arangodb/aql/functions").register("MYFUNCTIONS::VERTEX::INDEGREE", function(vertex,edge, node) {"use strict"; AQL_Query((return( "for t in Transaction  collect vertex_count=t._from with into n return x")))});
!                                                                                                                                   ^^^^^^
stacktrace: SyntaxError: Unexpected token 'return'

使用aql模板字符串處理程序來組合查詢,這樣的事情應該讓你開始:

require("@arangodb/aql/functions").register(
    "MYFUNCTIONS::VERTEX::INDEGREE", 
    function(vertex,edge, node) {
        "use strict";
        let db = require('@arangodb').db;
        let aql = require('@arangodb').aql;
        
        let query = aql`
            for t in Transaction  
              collect vertex_count=t._from with into n 
              return n
        `;
        return db._query(query).toArray();
    }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM