2016-11-08 7 views
-2

をNode.jsの私はこのように見てGETリクエストを持っている:解析クエリ文字列が

/api/stores?offset=10&limit=15?order=+name?filter=name='Tesco|distance=4 

私はのように見えるオブジェクトに私のクエリから+名を解析する必要があります。名前の前{name: 1}, +の場合、および{name:-1} if - beforeの名前。そして、フィルタクエリは

{name:'Tesco', distance:4}のようになります。誰も私には最高のパフォーマンスを達成するためにそれを行うのを助けることができる

答えて

0

あなたはそれを変えるチャンスを持っていない場合はガベージURLをすることができます、パンチする必要があることをあなたに送信している誰でもこのハックを使用してください。

var url = "/api/stores?offset=10&limit=15?order=+name?filter=name='Tesco|distance=4"; 
var m = url.match(/name='(.+?)\|distance=(\d+)/); 
console.log(m[0]); // returns name='Tesco|distance=4 
console.log(m[1]); // returns Tesco 
console.log(m[2]); // returns 4 as a string value 

m 1とm [2]を使用すると、新しいオブジェクトを作成できます。

URLがゴミ箱であることを確認してください。可能であれば問題を修正し、ハックを使用せずに値を取得してquerystring.parseでオブジェクトを構築することができます。

+0

ありがとうございます! –