我正在尝试通过节点js中的用户ID来获取数据

时间:2018-07-24 09:41:55

标签: node.js postgresql

这是我的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的新手,所以需要帮助。

1 个答案:

答案 0 :(得分:1)

如果您更改

userId: _.get(req, 'params.userId', null),

userId: req.body.userId,

userId: _.get(req, 'body.userId', null),

它能解决问题吗?

req.params用于路由参数,而不用于表单数据。