Search code examples
node.jsmongodbmongoosemongodb-querymongoose-schema

How to inset multiple documents in mongoose with mongoose required validation?


I wanted to insert multiple documents in my MongoDB collection. I was able to do that by using Model.collection.insert function but when I insert those data it skip/bypass required validation.

I've tried Model.collection.insert([{data: '1'}, {data: '2'}, {type: '3'}]) but this way it's skip or bypass the validation. I want data field required and I used in my Schema that as required. But that's not working.

There is my schema that required a field.

export const SubjectSchema = new mongoose.Schema({
    title: { type: String, required: [true, "title field required"] },
    groups_id: { type: String },
    class_id: { type: String },
    meta: { type: Object }
},
    { timestamps: true })

Here is my function

    async createSubject(body) {
        let result = SubjectSchema.collection.insert(body)
        return result
    }

I want multiple data to be stored and in each record, title field should be required


Solution

  • Model.insertMany([{data: '1'}, {data: '2'}, {type: '3'}])
    

    you can find the insertMany ref here

    however, you can also db.collection.validate()