2016-06-14 4 views
1

Cloudant Connectorを使用してループバックを使用して別の値を取得しようとしていますが、ドキュメントでこれについて何も見つかりませんでした。API Connect/StrongLoopのループバックを使用したCloudant Connectorとの明確な問合せ

私はこれをオンにするクエリが必要になります。この中

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

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

私は私の製品モデルを照会するREST APIを使用しています(上記のちょうど格付けフィールドのフィルタされたビューです)。何らかの理由でドキュメントに欠けているサーバーを変更せずに使用できるフィルタがあれば、それが最良の選択です。

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

またはどのように私はこれを解決するについて行くことができます。

は、私は次のように明確なフィールドを追加することができます方法はありますか?私はCloudantのNoSQLとそれを実装する方法を、

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

これがうまくいく場合:

また、私はこの(MySQL用のこのような何かを)解決するために、リモート・メソッドを追加することについて話して別の答えを見てきましたDBコネクタ?

ありがとうございます!

答えて

1

は、あなたの文書は、このように見えた場合:あなたがキーとしてdoc.ratingを放出し_count減速でビルド使用するMapReduceのビューを作成することができます

{ 
    "name": "Star Wars", 
    "year": 1978, 
    "rating": "*****" 
} 

:照会

function(doc) { 
    emit(doc.rating,null); 
} 

group=trueのこのビューでは、別の値ratingがデータセット内に発生した回数とともに表示されます。

+0

これはまだ完全にわかりません。この実装では、クラウドコネクタを使用したループバックではなくcouchdbを使用しているようです。この新しいビューを作成する場所はどこですか?リモートメソッドがあるモデルですか? –

関連する問題