可选的搜索参数与猫鼬
Optional search parameters with mongoose?
我是一个没有经验的web开发人员,我在制作API方面遇到了麻烦。
这个API应该能够接受这些参数;所有参数都应该是可选的(标题,类别),我应该能够限制我得到的结果的数量,即从哪里开始的结果,我应该返回多少结果。
app.get('/images', function(req, res) {
// var searchKey = req.query.keyword;
console.log("hello!");
var regex = new RegExp(req.query.q, 'i');
return Image.find({
title: regex
},function(err, q) {
console.log("do this");
return res.send(q);
});
});
例如,假设我们有10张图像,标题"猫A","猫B"等,类别为空([])。然后我们希望从结果3开始并显示6个结果。这是我的代码,我不确定如何在
您可以根据提供的参数根据需要构建查询。我对如何提供参数有点猜测,但这里有一个例子:
// Build up the query conditions based on the supplied parameters (if any).
var conditions = {};
if (req.query.q) {
// Match the query string against the either the title or categories fields
var regx = new RegExp(req.query.q, 'i');
conditions.$or = [
{title: regx},
{categories: regx}
];
}
var query = Image.find(conditions);
// Support optional skip and limit parameters.
if (req.query.skip) {
query = query.skip(req.query.skip);
}
if (req.query.limit) {
query = query.limit(req.query.limit);
}
// Execute the assembled query.
return query.exec(function(err, q) {
console.log("do this");
return res.send(q);
});
相关文章:
- 谷歌CSE-搜索参数
- 如何让typeahead在我的搜索栏中填充自定义参数
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- 为什么字符串搜索的参数表现得像Regex
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- 如何在 angularjs 中存储和检索搜索参数
- JavaScript 位置搜索 URL 中的多个查询参数
- 谷歌自定义搜索 - 从网址参数手动加载/执行
- 为我的搜索框创建参数化 URL
- 谷歌地图API v3放置搜索 - 将另一个参数传递给回调函数
- jQuery getScript 函数添加了搜索参数,并抛出 404 错误
- 在 AngularJS 中搜索表单和 URL 参数
- location.href + 指定搜索参数
- 将参数传递给elasticsearch javascript api搜索请求的回调函数
- AngularJS-自动向URL添加哈希标签-覆盖搜索参数
- 天气API,如何组合搜索参数以获得更详细的位置(城市、州、国家等),以防止位置混淆
- 将状态添加到特定搜索参数的历史记录中
- 在集合中搜索具有类似属性和搜索参数的模型
- 当输入参数长度=8时开始搜索
- 在Sequelize.js中使用动态搜索参数