繁体   English   中英

Node.js:将请求模块用于MongoDB时如何设置限制

[英]Nodejs: How to set limit when using Request module for mongodb

目前,在使用请求模块时,我无法为mongodb实现查询限制。 我确实有一些查询,我将其查询并附加到所请求的URL。 但是,没有设置应显示多少结果的限制(如mongodb doc中所述: 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(...);

尝试在stringify中已经添加了querylimit的查询之后(+ query,querylimit),将其本身进行字符串化并尝试添加它,等等。

我只是找不到使用请求模块时限制查询的方法。

任何帮助将不胜感激!

欢迎使用StackOverflow @ Jan173

您不能将新对象与字符串对象联系起来。

相反,您可以使用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

希望这会成功,祝您编码愉快:)

您需要执行以下操作:

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

您只是将查询选项附加到URI的末尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM