显示调用 ack 函数错误的猫鼬代码

问题描述 投票:0回答:2
app.post ('/create_contact',function(req,res) 
{
  contact.create({
    name :req.body.name,
    phone:req.body.phone
  },function(err,newContact)
  {
    if(err){console.log('error in creating a contact!');
    return;}

  console.log('********',newContact);
  return res.redirect('back');
  });
});

错误:

throw new MongooseError('Model.create() no longer accepts a callback');
          ^
MongooseError: Model.create() no longer accepts a callback

我试过这段代码但再次显示错误

node.js mongodb mongoose callback
2个回答
0
投票

Mongoose 放弃了对其某些方法的回调支持(create 方法就是其中之一)。您可以查看此link以了解更多信息。并且不使用回调,而是使用 async/await 语法并将其包装在 try/catch 块中以处理在创建新文档时可能发生的错误。

检查这个这个重复的问题。您的问题将被标记。


0
投票

你可以用

async await

解决
app.post('/create_contact', async function (req, res) {
  try {
    const newContact = await contact.create(req.body);
    console.log('********', newContact);
    return res.redirect('back');
  } catch (err) {
    res.send('error in creating a contact!');
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.