从mongodb示例来看,我尝试了一些方法,例如:
// returns an empty array
funnyPosts.find({limit:5}).toArray(function(err, result) {
console.log(result);
});
也试过
// returns { _construct_args: [],
console.log(db.collection('funny_posts').find().skip(3).limit(3));
答案 0 :(得分:2)
您是否尝试使用Node.js和MongoDB实现分页?
您的参数位于错误的位置(不是find()
的第一个参数)。这是HackHall GitHub link的代码:
exports.getPosts = function(req, res, next) {
var limit = req.query.limit || LIMIT;
var skip = req.query.skip || SKIP;
req.db.Post.find({}, null, {
limit: limit,
skip: skip,
sort: {
'_id': -1
}
}, function(err, obj) {
if (!obj) next('There are not posts.');
obj.forEach(function(item, i, list) {
if (req.session.user.admin) {
item.admin = true;
} else {
item.admin = false;
}
if (item.author.id == req.session.userId) {
item.own = true;
} else {
item.own = false;
}
if (item.likes && item.likes.indexOf(req.session.userId) > -1) {
item.like = true;
} else {
item.like = false;
}
if (item.watches && item.watches.indexOf(req.session.userId) > -1) {
item.watch = true;
} else {
item.watch = false;
}
});
var body = {};
body.limit = limit;
body.skip = skip;
body.posts = obj;
req.db.Post.count({}, function(err, total) {
if (err) next(err);
body.total = total;
res.json(200, body);
});
});
};
有关详细信息,请在webapplog.com和Express.js Guide上查找我的其他帖子。