2015-06-06 61 views
0

我有这个问题,我不知道如何在Mongoose文本搜索模块中进行分页,我完全是初学者,所以请大家帮忙,这是我的代码:Mongoose文本搜索分页在MongoDB/Node.js

searchModul.create({ title: title, description: description }, function (err) { 
    if (err) return handleError(err); 
    searchModul.textSearch(title, function (err, output) { 
    if (err) return handleError(err); 
    res.render('search', { 
      title : 'title', 
      results : output.results 
    }); 
    }); 
}); 

并且我还想知道如何在search.ejs视图中显示该分页。并提前致谢。

+0

对不起,我不理解你的问题,因为它的措辞。您的mongoose查询是否返回更多数据,并且您希望访问其余的查询? –

+0

否查询返回超过300个文档。所以我想添加一个分页。例如每页20个文件 –

回答

0

要实现分页,请使用$limit来定义每个查询的限制,并使用$skip来导航页面。

来自文档:
$limit取正整数,指定要传递的最大文档数。

$skip取正整数,指定要跳过的最大文档数。

有类似这样的问题,请查看here的答案和更详细的教程here

希望有帮助!

0

我想你想是这样的:

searchModul.find({ $text: { $search: title }}).skip(50).limit(50).exec(function (err, output) { 
    if (err) return handleError(err); 
    res.render('search', { 
      title : 'title', 
      results : output.results 
    }); 
    }); 

这将返回匹配的第二个50个项目。 .skip(50)skip项的数量和.limit(50)是要返回的项目数。