在url中没有提供完整的选项值

  • 本文关键字:选项 url javascript node.js
  • 更新时间 :
  • 英文 :


我的程序因为没有为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()
}

最新更新