3

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

しかし、これでは範囲もできません。

4

1 に答える 1

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 });
  });
于 2014-09-06T11:49:07.520 に答える