我需要运行一些Foxx Repository对象似乎无法处理的查询(也许我只是缺少某些东西)。我想使用AQL,但我不知道如何从Foxx调用它。
示例:
时间戳收藏:
{ user_id, time_stamp }
SQL查询(我想要模仿的内容):
SELECT * FROM timestamps WHERE user_id = 1024 AND time_stamp < 123456789
我能做到:
timestamps.byExample( {user_id:1024} )
但这并不能让我做一个范围。
答案 0 :(得分: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 });
});