2016-08-23 11 views
0

現在、リクエストモジュールを使用しているときにmongodbのクエリ制限を実装する際に問題が発生しています。私は文字列化し、要求されているURLに添付するいくつかのクエリを持っています。ただし、表示されるべきか、多くの結果の上限設定:Nodejs:mongodbにリクエストモジュールを使用する場合の制限を設定する方法

...トリックをやっていないか、または少なくとも私は間違った場所にそれを入れています(MongoDBのドキュメントで説明したように(オプションを参照) https://mongodb.github.io/node-mongodb-native/markdown-docs/queries.html)を
//request all countries that are in the database and push them into a search array 

var query = JSON.stringify({'createdDate': {$gte: moment().subtract(5, 'days')}}); 

request(db_url + 'countries/?' + query, function(error, response, body) {} 

追加しよう:

var querylimit = {"limit": 20} 

MongoDBのドキュメントは、次の例を示します:

var options = { 
"limit": 20, 
"skip": 10, 
"sort": "title" 
} 

collection.find({}, options).toArray(...); 

はすでにトンで、クエリ(+クエリ、querylimit)の後ろquerylimitを追加しようとしました彼は文字列化し、それ自身を文字列にしてそれを追加しようとしました。

リクエストモジュールを使用するときにクエリを制限する方法が見つかりません。

ご協力いただければ幸いです! StackOverflowの@ Jan173

答えて

0

はあなたが好きな何かをする必要がありハッピー同じオブジェクトにクエリの制限を追加するには、文字列を変換することができます次のようになります。

var limit = 20; 
request(db_url + 'countries/?' + encodeURIComponent(query + "&limit=" + limit), function(error, response, body) {} 

URIの最後にクエリオプションを追加するだけです。

+0

Hey Joe、 あなたは何をしようとしているのですか?しかし、私の結果は次のようになります: mydomain/countries /?{22%22%22%22%22%20%22%22%22%20%22%}それは期待される結果をもたらしません。制限を除いて、すべてのクエリが適用されます..どんな考えですか? – Jan173

+0

ああ、右。その追加をencodeURIComponentでラップしてみてください。私は答えを更新しました – Joe

+0

hm、まだすべての結果が表示されます。クエリは次のようになります。 {"createdDate":{"$ gte": "2016-08-18T20:08:36.883Z"}}%26limit%3D20 – Jan173

0

ようこそあなたは文字列化されたオブジェクトに新しいオブジェクトを連絡することができません。

は、代わりにあなたはJSON.parseを使用してオブジェクトと、これは動作します

var queryObj = JSON.parse(query); // stringify query converted to object 
queryObj.limit = 20; // adding new propery limit to query object 
collection.find({}, queryObj); // fetch data with query object 

希望、コーディング:)

+0

こんにちはkeviveks、私は何とかundestandあなたの答えをしないでください。私はDBから結果を得るためのクエリを構築しようとします。上記のコードでは、配列が長すぎるため(500kオブジェクト)、接続タイムアウトが発生します。私はタイムアウトを取得しないように最初の20をDBから取得する必要があります。 私があなたを理解しているように、あなたは既にデータベースから配列を得て、それをカットしようとしていますか? – Jan173

関連する問題