在我的路由中,我试图获取带有动态列的寄存器,而不是客户端请求像“ router.get('/get-by/'”这样的路由,而不是指定我的表的字段......
我这样使用
var field = req.body.field
Territory
.findOne({
where: {
field : req.params.id
}
})
但没有任何效果。谁能帮我?
在我的路由中,我试图获取带有动态列的寄存器,而不是客户端请求像“ router.get('/get-by/'”这样的路由,而不是指定我的表的字段......
我这样使用
var field = req.body.field
Territory
.findOne({
where: {
field : req.params.id
}
})
但没有任何效果。谁能帮我?
尝试这个。[场地]
var field = req.body.field
Territory
.findOne({
where: {
[field] : req.params.id
}
})
我是这样使用的:
var column = dynamicTable[0]
var value = dynamicTable[1]
HasReports.create({
ReportId: req.body.id,
[column]: value, // Changable for report type..
ReportedById: req.user.id,
reportHasTitle: req.body.reportHasTitle,
reportDescription: req.body.description,
reportedByIp: ip
})
我喜欢这个:
router.get('/get-by/',
passport.authenticate('jwt',{ session: false}),
[
query('field').not().isEmpty().withMessage('territory field is empty'),
query('value').not().isEmpty().withMessage('territory value is empty'),
],
function(req, res) {
var token = getToken(req.headers);
if (token) {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
let filters = {}
filters[req.query.field] = req.query.value;
Territory.
findAll({
where: filters
})
.then((territory) => {
if (!territory) {
return res.status(401).send({
message: 'Territory not found.',
});
}
res.json({ success: true, territory: territory });
})
.catch((error) => res.status(400).send(error));
} else {
return res.status(403).send({success: false, msg: 'Unauthorized.'});
}
});