javascript - 错误处理 promise 在 mongoDB 中保存唯一数据(ValidationError)

标签 javascript mongodb mongoose promise koa

我使用 Koa.js、mongodb 和 momgoose.js

我的客户端有一个简单的表单,我有一些独特且必需的输入。 当我提交我的表单时,我尝试将这些数据保存在我的 Schema 中的 mongodb 中。

const mySchema = mongoose.Schema(
    {
        firstname: {
            type: String,
            unique: true,
            required: true
        },
        lastname: {
            type: String,
            required: true
        }
    });
const My = mongoose.model('My', mySchema);

保存函数

function addDB(data) {
    return new Promise(() => {
        const bar = new My({ ...data });
        bar.save().then(() => console.log('success'));
    });

我怎样才能像这样在数据库中捕获错误:

UnhandledPromiseRejectionWarning: ValidationError: My validation failed: lastname: Path `lastname` is required.

最佳答案

您可以使用 catch 处理错误以避免此错误:

function addDB(data) {
    return new Promise(() => {
        const bar = new My({ ...data });
        bar.save().then(() => console.log('success')).catch(err=>console.log(err))
    });

关于javascript - 错误处理 promise 在 mongoDB 中保存唯一数据(ValidationError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51245713/

相关文章:

javascript - HammerJS 2.0 中手动触发事件

javascript - 无法读取 null 的属性 'appendChild' - Tiny Slider React

mongodb - 如何将 Geojson 文件导入 MongoDB

javascript - Mongoose __v 什么时候变

node.js - Mongodb atlas + node.js 在本地工作,但在推送到 Heroku 时停止

mongodb - 如何从 1 分钟嵌套数组数据(mongodb、 Mongoose )聚合 OHLC 5 分钟

javascript - AngularJS - 单击时调用指令的监听器并将数据传递给它

javascript - 如何更新 angular.forEach() 中的当前值?

javascript - 如何在 mongoose/mongodb 中对子文档数组进行排序?

node.js - $addToSet 和更新插入