猫鼬通过提取但与Postman一起使用来保存新文档错误“找不到ID”

时间:2018-07-19 23:37:10

标签: javascript node.js mongoose fetch postman

更新: await Product.insertMany(req.body);正在运作...

由于某种原因,当我通过Postman调用我的API时,猫鼬会保存新文档,但是当我从我的React应用程序中使用fetch调用它时,它将不起作用。
更新文档确实可以,所以我现在有些惊讶……

发生错误: error message No matching document found for id "5b511d78ed5ea067a3c93e4f"

邮递员设置:

url: localhost:8080/product  
method: POST  
Content-Type: application/json  
Body: raw (application/json)  

获取代码:

    fetch('http://localhost:8080/product',{
        method: 'POST',
        credentials: 'include',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(newProduct)
    })
        .then(res => res.json())
        .then(json => {
            cb(json);
        })

服务器代码

static async post(req, res, next) {
    const Product = ProductRouter.getModel();

    console.log(req.body);

    let newProduct;

    try {
        newProduct = new Product(req.body);
        console.log('newProduct', newProduct);
        await newProduct.save();
    } catch (e) {
        newProduct = e.message;
        console.log('error message', e.message);
    }
    res.locals.setBody({product: newProduct});

    next();
}

使用提取时,req.body会被填充并创建一个新产品,由于上面的错误,它只会在“ .save”上崩溃。

0 个答案:

没有答案