1

Cloudant コネクタでループバックを使用してクエリの個別の値を取得しようとしていますが、ドキュメントでこれについて何も見つかりませんでした。

たとえば、これを有効にするクエリが必要です。

[
{
rating: "★★★★★"
},
{
rating: "★★★★★"
},
{
rating: "★★★★★"
},
{
rating: "★★★★★"
},
{
rating: "★★★☆☆"
},
{
rating: "★★★☆☆"
}
]

これに:

[
{
rating: "★★★★★"
},
{
rating: "★★★☆☆"
}
]

私は REST API を使用して Products モデルをクエリしています (上記は評価フィールドのみをフィルター処理したものです)。サーバーを変更せずに使用できる何らかのフィルターがあり、ドキュメントで見逃していた場合は、それが最良の選択です。

次のような個別のフィールドを追加する方法はありますか?

/Products?filter[fields][rating]=true?distinct=true

またはどうすればこれを解決できますか?

また、これを解決するためにリモートメソッドを追加することについて話している別の回答を見ました(mySQLの場合はこのようなものです):

Locations.regions = function (cb) {
  var ds = Locations.app.datasources.myDS;
  var sql = "SELECT DISTINCT region FROM Locations ORDER BY region"; // here you write your sql query.

  ds.connector.execute(sql, [], function (err, regions) {

    if (err) {
      cb(err, null);
    } else {
      cb(null, regions);
    }

  });

};

Locations.remoteMethod(
  'regions', {
    http: {
      path: '/regions',
      verb: 'get'
    },
    returns: {
      root: true,
      type: 'object'
    }
  }
);

これが機能する場合、Cloudant NoSQL DB コネクタでどのように実装しますか?

ありがとう!

4

1 に答える 1