猫鼬批量插入:批量插入后如何捕获或合并验证错误

时间:2020-04-28 15:19:15

标签: node.js mongodb mongoose bulkinsert

我有一个这样的架构:

const user = mongoose.Schema({
    email: {
        type: String,
        index: true,
        unique: true,
        required: true // important point
    }
})

我正在尝试使用Mongoose insertMany()插入文档列表,而麻烦在于查找由于架构验证而导致猫鼬跳过的错误。

如果我这样批量插入:

list = [new User({}), new User({emai: 'foo@bar'}), new User({emai: 'foo@bar'})]
model.insertMany(list, {ordered: false})

由于代码1,错误对象将说索引11000处有错误。我认为猫鼬只是从列表中删除了第一个对象,其余的交给了Mongo。

我真正想要的是错误对象有 2个错误-由于验证,索引为0,由于代码为2,索引为11000

是否可以获取这些错误?还是出于某种原因可以合并失败条目列表的方法?

0 个答案:

没有答案