2

FeathersJs REST クライアントを使用して、複数の値を持つ単一のフィールドをクエリするにはどうすればよいですか?

例えば。Books サービスを利用していて、1990 年、1991 年、1992 年に書かれたすべての本を取得したい場合、次のように呼び出すとします。

/books?year[]=1990&year[]=1991&year[]=1992

これは機能しませんが。

4

1 に答える 1

4

一般的なデータベース アダプタのクエリ構文のドキュメントを参照してください。探しているものを照会する正しい方法は次のとおりです。

year: {
  $in: [ 1990, 1991, 1992 ]
}

対応するクエリは次のようになります

/books?year[$in]=1990&year[$in]=1991&year[$in]=1992

このクエリ文字列を解析するには、拡張クエリ パーサーqsを使用する必要があります。

app.set('query parser', 'extended');

クエリは文字列であるため、年の実際の数値が必要な場合は、それをbeforeフック内のクエリに変換する必要がある場合もあります (ただし、ほとんどのデータベースでは通常、両方が許可されています)。

于 2016-10-09T16:10:08.560 に答える