diff --git a/types/mongoose/index.d.ts b/types/mongoose/index.d.ts index 68d99257a3..191a90549a 100644 --- a/types/mongoose/index.d.ts +++ b/types/mongoose/index.d.ts @@ -29,6 +29,7 @@ // Brian Chen // Boris Figovsky // Simon Driscoll +// Anton Kenikh // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 @@ -2876,10 +2877,13 @@ declare module "mongoose" { * Mongoose will perform casting on all operations you provide. * This function does not trigger any middleware, not save() nor update(). If you need to trigger save() middleware for every document use create() instead. * @param writes Operations + * @param options Optional settings. See https://mongoosejs.com/docs/api/model.html#model_Model.bulkWrite * @param cb callback * @return `BulkWriteOpResult` if the operation succeeds */ bulkWrite(writes: any[], cb?: (err: any, res: mongodb.BulkWriteOpResultObject) => void): Promise; + bulkWrite(writes: any[], options?: mongodb.CollectionBulkWriteOptions): Promise; + bulkWrite(writes: any[], options: mongodb.CollectionBulkWriteOptions, cb: (err: any, res: mongodb.BulkWriteOpResultObject) => void): void; /** * Finds a single document by its _id field. findById(id) is almost* diff --git a/types/mongoose/mongoose-tests.ts b/types/mongoose/mongoose-tests.ts index 1f8b97c2e8..9ed70a18b4 100644 --- a/types/mongoose/mongoose-tests.ts +++ b/types/mongoose/mongoose-tests.ts @@ -778,8 +778,11 @@ MyModel.bulkWrite([{foo:'bar'}]).then(r => { console.log(r.deletedCount); }); MyModel.bulkWrite([], (err, res) => { - console.log(res.modifiedCount) -}) + console.log(res.modifiedCount); +}); +MyModel.bulkWrite([], { ordered: false }, (err, res) => { + console.log(res.modifiedCount); +}); doc.populate('path'); doc.populate({path: 'hello'}); doc.populate('path', cb)