Skip to content

Commit

Permalink
Merge pull request #12167 from emiljanitzek/feature/bulk-write-types
Browse files Browse the repository at this point in the history
fix(types): pass type to mongodb bulk write operation
  • Loading branch information
vkarpov15 committed Aug 3, 2022
2 parents 67c2e93 + 6b24fa0 commit aabf3b2
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 3 deletions.
27 changes: 27 additions & 0 deletions test/types/models.test.ts
Expand Up @@ -282,6 +282,33 @@ function bulkWrite() {
M.bulkWrite(ops);
}

function bulkWriteAddToSet() {
const schema = new Schema({
arr: [String]
});

const M = model('Test', schema);

const ops = [
{
updateOne: {
filter: {
arr: {
$nin: ['abc']
}
},
update: {
$addToSet: {
arr: 'abc'
}
}
}
}
];

return M.bulkWrite(ops);
}

export function autoTypedModel() {
const AutoTypedSchema = autoTypedSchema();
const AutoTypedModel = model('AutoTypeModel', AutoTypedSchema);
Expand Down
6 changes: 3 additions & 3 deletions types/models.d.ts
Expand Up @@ -144,9 +144,9 @@ declare module 'mongoose' {
* if you use `create()`) because with `bulkWrite()` there is only one network
* round trip to the MongoDB server.
*/
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation>, options: mongodb.BulkWriteOptions & MongooseBulkWriteOptions, callback: Callback<mongodb.BulkWriteResult>): void;
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation>, callback: Callback<mongodb.BulkWriteResult>): void;
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation>, options?: mongodb.BulkWriteOptions & MongooseBulkWriteOptions): Promise<mongodb.BulkWriteResult>;
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation<T>>, options: mongodb.BulkWriteOptions & MongooseBulkWriteOptions, callback: Callback<mongodb.BulkWriteResult>): void;
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation<T>>, callback: Callback<mongodb.BulkWriteResult>): void;
bulkWrite(writes: Array<mongodb.AnyBulkWriteOperation<T>>, options?: mongodb.BulkWriteOptions & MongooseBulkWriteOptions): Promise<mongodb.BulkWriteResult>;

/**
* Sends multiple `save()` calls in a single `bulkWrite()`. This is faster than
Expand Down

0 comments on commit aabf3b2

Please sign in to comment.