diff --git a/lib/model.js b/lib/model.js index b8d927c3cc2..458fc22c37a 100644 --- a/lib/model.js +++ b/lib/model.js @@ -3635,7 +3635,10 @@ Model.compile = function compile(name, schema, collectionName, connection, base) model.Query.base = Query.base; applyQueryMethods(model, schema.query); - var kareemOptions = { useErrorHandlers: true }; + var kareemOptions = { + useErrorHandlers: true, + numCallbackParams: 1 + }; model.$__insertMany = model.hooks.createWrapper('insertMany', model.insertMany, model, kareemOptions); model.insertMany = function(arr, options, callback) { diff --git a/test/model.test.js b/test/model.test.js index 2429b9f3549..f984485da97 100644 --- a/test/model.test.js +++ b/test/model.test.js @@ -5345,7 +5345,15 @@ describe('Model', function() { }); var calledPre = 0; var calledPost = 0; - schema.pre('insertMany', function(next) { + schema.pre('insertMany', function(next, docs) { + assert.equal(docs.length, 2); + assert.equal(docs[0].name, 'Star Wars'); + ++calledPre; + next(); + }); + schema.pre('insertMany', function(next, docs) { + assert.equal(docs.length, 2); + assert.equal(docs[0].name, 'Star Wars'); ++calledPre; next(); }); @@ -5358,7 +5366,7 @@ describe('Model', function() { Movie.insertMany(arr, function(error, docs) { assert.ifError(error); assert.equal(docs.length, 2); - assert.equal(calledPre, 1); + assert.equal(calledPre, 2); assert.equal(calledPost, 1); done(); });