node.js - 如何使用 Node.js 传递值以跳过和限制 MongoDB 的方法
问题描述
我在将值传递给 mongoDB 的 skip 方法时遇到问题。下面是有效的代码,在此代码中,我只是将数字 10 传递给 skip 方法。
Post.find(finalQuery, (err, posts) => {
if (err) {
res.json({
success: false,
message: err
});
} else {
if (!posts) {
res.json({
success: false,
message: 'No posts found.'
});
} else {
res.json({
success: true,
posts: posts
});
}
}
}).sort({
'_id': -1
}).skip(10).limit(10);
但是我想将 skip 的值作为变量传递,下面是不起作用的代码。我使用http请求将skip作为参数传递。我究竟做错了什么?谢谢!
router.get('/getAllPosts/:skip', (req, res) => {
let finalQuery = {}; //I have written correct query in actual code, skipped here for simplicity
Post.find(finalQuery, (err, posts) => {
if (err) {
res.json({
success: false,
message: err
});
} else {
if (!posts) {
res.json({
success: false,
message: 'No posts found.'
});
} else {
res.json({
success: true,
posts: posts
});
}
}
}).sort({
'_id': -1
}).skip(req.params.skip).limit(10);
}
解决方案
skip
接受数字参数,而不是字符串,因此您需要转换:
.skip(Number(req.params.skip))
推荐阅读
- javascript - 创建没有中间字符串的复杂 SVG
- ruby-on-rails - 使用 imagemagick 减少图像宽度和高度而不模糊
- c++ - How to use a struct pointer in a map?
- ios - Custom UIControl element with global state for all instances
- css - Styling material UI components
- c++ - How do I render a win32 window to an opengl texture?
- php - 将 IP 存储在数据库中以获取用户的活动日志
- java - Notification null when app closed
- node.js - Are non-stream WebSockets in Scala possible at all? Doesn't seem like it
- android - Can't replace image view, for image from a camera or gallery (It doesn't work)