diff --git a/lib/helpers/model/castBulkWrite.js b/lib/helpers/model/castBulkWrite.js index f4e15648979..f724afb0b31 100644 --- a/lib/helpers/model/castBulkWrite.js +++ b/lib/helpers/model/castBulkWrite.js @@ -34,6 +34,9 @@ module.exports = function castBulkWrite(model, op, options) { op = op['updateOne']; return (callback) => { try { + if (!op['filter']) throw new Error('Must provide a filter object.'); + if (!op['update']) throw new Error('Must provide an update object.'); + op['filter'] = cast(model.schema, op['filter']); op['update'] = castUpdate(model.schema, op['update'], { strict: model.schema.options.strict, @@ -61,6 +64,9 @@ module.exports = function castBulkWrite(model, op, options) { op = op['updateMany']; return (callback) => { try { + if (!op['filter']) throw new Error('Must provide a filter object.'); + if (!op['update']) throw new Error('Must provide an update object.'); + op['filter'] = cast(model.schema, op['filter']); op['update'] = castUpdate(model.schema, op['update'], { strict: model.schema.options.strict,