我的程序因为没有为URL中的选项提供所有值而抛出错误。如果我在url中只传递一个值,我必须注释其他选项我的代码
taskRouter.get('/tasks', auth, async (req, res) => {
try {
await req.user.populate({
path: 'tasks',
match: {
completed: (req.query.completed === 'true')
},
options: {
limit: parseInt(req.query.limit),
skip: parseInt(req.query.skip),
sort: {
createdAt: -1
}
}
});
res.send(req.user.tasks)
} catch (e) {
res.status(500).send()
}
})
我在邮差传递以下命令url: {{url}}/任务吗?限制= 3
要么我必须为program中定义的所有选项提供值,要么我必须注释那些我不打算在url中提供值的选项。
由于没有使用ORM,因此必须验证req。手动查询:
taskRouter.get('/tasks', auth, async (req, res) => {
try {
await req.user.populate({
path: 'tasks',
match: {
completed: (req.query.completed === 'true')
},
options: {
limit: parseInt(req.query.limit),
skip: parseInt(req.query.skip ? req.query.skip : 0),
sort: {
createdAt: -1
}
}
});
res.send(req.user.tasks)
} catch (e) {
res.status(500).send()
}