代码之家  ›  专栏  ›  技术社区  ›  kroe761

sequelize创建db记录后,如何从响应中删除json元素?

  •  0
  • kroe761  · 技术社区  · 7 年前

    使用sequentize,我可以创建 product 在我的数据库中使用 Product modek,但我想编辑json响应,删除updateDat和createDat元素。我该怎么做?

    我的代码:

    router.post('/products', (req, res, next) => {
        Product.create({
            name: req.body.name,
            price: req.body.price
        }).then(
            product => res.status(200)
                .json(product)
        )
    });
    

    使用此主体调用localhost:3000/products时:

    {
        "name": "A Book",
        "price": 10.99,
    }
    

    我得到的回应是:

    {
        "id": 8,
        "name": "A Book",
        "price": 10.99,
        "updatedAt": "2018-06-26T20:09:38.643Z",  <-- Remove?
        "createdAt": "2018-06-26T20:09:38.643Z"   <-- Remove?
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Praveenkumar Kalidass    7 年前

    尝试使用 lodash 拾取()。

    如果你的回答是,

    {
        "id": 8,
        "name": "A Book",
        "price": 10.99,
        "updatedAt": "2018-06-26T20:09:38.643Z",
        "createdAt": "2018-06-26T20:09:38.643Z"
    }
    

    尝试, var result = _.pick(response, ["name", "price"]);

    router.post('/products', (req, res, next) => {
        Product.create({
            name: req.body.name,
            price: req.body.price
        }).then(
            product => 
                var result = _.pick(response, ["name", "price"]);
                res.status(200).json(result)
        )
    });
    
    推荐文章