这是我的Node js脚本代码。我正在尝试通过用户userId从我的表中获取数据;
//通过id获取一个用户
exports.orderHistory = (req, res, next) => {
return validateInput(req)
.then(() => {
return PG.purchaseHistory.findOne({
where: {
userId: _.get(req, 'params.userId', null),
},
attributes: {
exclude: excludedFields,
},
})
.then((orderHistory) => {
if (!orderHistory) {
throw new HttpError(404, 'User not found');
}
return res.status(200).send(orderHistory);
});
})
.catch(e => next(e));
};
但是问题是。我的SQL查询看起来像这样。
SELECT "id", "productId", "userId", "productName", "orderId", "productStatus", "producrstartDate", "productExpireDate", "productAmount" FROM "purchaseHistories" AS "purchaseHistory" WHERE "purchaseHistory"."userId" IS NULL LIMIT 1;
我是node js的新手,所以需要帮助。
答案 0 :(得分:1)
如果您更改
userId: _.get(req, 'params.userId', null),
到
userId: req.body.userId,
或
userId: _.get(req, 'body.userId', null),
它能解决问题吗?
req.params
用于路由参数,而不用于表单数据。