我正在用Node.js和mongoose写一个网页应用。如何对从
打电话?我想要一个可与之相比的功能
在SQL中。
发布于 2011-04-04 23:15:30
在仔细研究了Mongoose API和Rodolphe提供的信息之后,我找到了这个解决方案:
MyModel.find(query, fields, { skip: 10, limit: 5 }, function(err, results) { ... });
发布于 2014-05-14 03:48:14
我对这个问题中被接受的答案感到非常失望。这将无法扩展。如果您阅读了cursor.skip( )上的详细说明:
cursor.skip()方法通常开销很大,因为它需要服务器从集合或索引的开头遍历以获取偏移量或跳过位置,然后才开始返回结果。随着偏移量(例如上面的pageNumber )的增加,cursor.skip()将变得更慢并占用更多的CPU。对于较大的集合,cursor.skip()可能会变成IO绑定。
为了以可伸缩的方式实现分页,结合使用limit( )和至少一个筛选条件,createdOn日期适合多种用途。
MyModel.find( { createdOn: { $lte: request.createdOnBefore } } )
.limit( 10 )
.sort( '-createdOn' )
发布于 2013-02-12 06:29:33
使用mongoose,express和jade进行分页-
这里有一个我的博客的链接,里面有更多的细节
var perPage = 10
, page = Math.max(0, req.params.page)
Event.find()
.select('name')
.limit(perPage)
.skip(perPage * page)
.sort({
name: 'asc'
})
.exec(function(err, events) {
Event.count().exec(function(err, count) {
res.render('events', {
events: events,
page: page,
pages: count / perPage
})
})
})
https://stackoverflow.com/questions/5539955
复制相似问题