2014-09-06 54 views
3

我需要運行一些Foxx Repository對象似乎無法處理的查詢(也許我只是缺少一些東西)。我想使用AQL,但我不知道如何從Foxx中調用它。如何從Foxx運行AQL

例子:

時間戳收藏:

{ user_id, time_stamp } 

SQL查詢(我想什麼效仿):

SELECT * FROM timestamps WHERE user_id = 1024 AND time_stamp < 123456789 

我可以這樣做:

timestamps.byExample({user_id:1024}) 

但是這並不能讓我做一個範圍。

回答

2

原則上,您可以在控制器方法中使用普通查詢。這將繞過Foxx存儲庫方法,但應該起作用。示例:

controller.around("/hallo", function (req, res, options, next) { 
    var count = true; 
    var data = db._query("FOR u IN _users FILTER u.user == @name RETURN u", 
         { name: "root" }).toArray(); 

    res.json({ result: data }); 
    }); 

如果您要使用非Foxx集合,那麼可以。如果您需要Foxx集合,則名稱取決於安裝點,在這種情況下,您需要使用collectionName。說,你的收藏被稱爲「文本」,然後使用

controller.around("/hallo", function (req, res, options, next) { 
    var count = true; 
    var data = db._query("FOR u IN @@texts RETURN u", 
         { '@texts': applicationContext.collectionName("texts") }).toArray(); 

    res.json({ result: data }); 
    });