2014-09-06 1 views
3

J'ai besoin d'exécuter des requêtes que l'objet Foxx Repository ne semble pas capable de gérer (Peut-être que je manque quelque chose). Je voudrais utiliser AQL, mais je ne sais pas comment l'appeler à partir de Foxx.Comment faire pour exécuter AQL à partir de Foxx

Exemple:

TimeStamps Collection:

{ user_id, time_stamp } 

requête SQL (Ce que je voudrais imiter):

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

je peux faire:

timestamps.byExample({user_id:1024}) 

Mais cela ne me laisse pas faire une gamme aussi bien.

Répondre

2

En principe, vous pouvez utiliser les requêtes normales dans une méthode de contrôleur. Cela contournera les méthodes du référentiel Foxx, mais devrait fonctionner. Exemple:

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 }); 
    }); 

Cela est correct si vous souhaitez utiliser des collections non-Foxx. Si vous avez besoin d'une collection Foxx, le nom dépend du point de montage, dans ce cas, vous devez utiliser collectionName. Dites, votre collection est appelée "textes", puis utilisez

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 }); 
    }); 
Questions connexes