猫鼬通过承诺返回验证还是我需要实现它?

Posted

技术标签:

【中文标题】猫鼬通过承诺返回验证还是我需要实现它?【英文标题】:mongoose returning validation by promises or i need to implement it? 【发布时间】:2021-10-14 22:38:06 【问题描述】:

当我使用 mongoose 函数时,例如 find、save、updateOne 等。 返回 obj/成功/失败的最佳实践是什么? 直到现在我返回了一个新的承诺,但也许有一个内置的功能?

到目前为止我使用的示例代码:

function updatePost(name) 

  return new Promise((resolve, reject) => 
        mongooseModel.updateOne(_id: id, title: title,author: author,body: body, err => 
      if (err) 
        reject(err);
       else 
        resolve();
         
    );
  );

所以我想也许mongooseModel.updateOne 本身就是一个承诺,它可以在没有我的新承诺的情况下返回这个错误/成功。

如果不是,那么做这种事情的最佳做法是什么?

【问题讨论】:

【参考方案1】:

你可以这样做。

参考。 https://mongoosejs.com/docs/api/model.html#model_Model.updateOne

async function updatePost(name) 
  try 
    const res = await mongooseModel.updateOne(
       _id: id ,
       title: title, author: author, body: body 
    );
    return res;
   catch (err) 
    throw err;
  

【讨论】:

res 得到什么?一个字符串?物体?那么返回像find()这样的结果的函数呢?我必须进行回调吗? @shamgar,相关question在这里。

以上是关于猫鼬通过承诺返回验证还是我需要实现它?的主要内容,如果未能解决你的问题,请参考以下文章

猫鼬静态方法返回一个蓝鸟承诺

循环通过承诺

在结果消息猫鼬节点验证中显示实际错误

如何使用猫鼬需要验证在猫鼬中插入多个文档?

如何修复“需要路径,验证错误”,猫鼬,节点

如何修复“需要路径,验证错误”,猫鼬,节点