@@ -58,12 +58,34 @@ declare module 'mongoose' {
58
58
sanitizeFilter ?: boolean ;
59
59
}
60
60
61
+ export type AnyConnectionBulkWriteModel < TSchema extends AnyObject > = Omit < mongodb . ClientInsertOneModel < TSchema > , 'namespace' >
62
+ | Omit < mongodb . ClientReplaceOneModel < TSchema > , 'namespace' >
63
+ | Omit < mongodb . ClientUpdateOneModel < TSchema > , 'namespace' >
64
+ | Omit < mongodb . ClientUpdateManyModel < TSchema > , 'namespace' >
65
+ | Omit < mongodb . ClientDeleteOneModel < TSchema > , 'namespace' >
66
+ | Omit < mongodb . ClientDeleteManyModel < TSchema > , 'namespace' > ;
67
+
68
+ export type ConnectionBulkWriteModel < SchemaMap extends Record < string , AnyObject > = Record < string , AnyObject > > = {
69
+ [ ModelName in keyof SchemaMap ] : AnyConnectionBulkWriteModel < SchemaMap [ ModelName ] > & {
70
+ model : ModelName ;
71
+ } ;
72
+ } [ keyof SchemaMap ] ;
73
+
61
74
class Connection extends events . EventEmitter implements SessionStarter {
62
75
aggregate < ResultType = unknown > ( pipeline ?: PipelineStage [ ] | null , options ?: AggregateOptions ) : Aggregate < Array < ResultType > > ;
63
76
64
77
/** Returns a promise that resolves when this connection successfully connects to MongoDB */
65
78
asPromise ( ) : Promise < this> ;
66
79
80
+ bulkWrite < TSchemaMap extends Record < string , AnyObject > > (
81
+ ops : Array < ConnectionBulkWriteModel < TSchemaMap > > ,
82
+ options : mongodb . ClientBulkWriteOptions & { ordered : false }
83
+ ) : Promise < mongodb . ClientBulkWriteResult & { mongoose ?: { validationErrors : Error [ ] , results : Array < Error | mongodb . WriteError | null > } } > ;
84
+ bulkWrite < TSchemaMap extends Record < string , AnyObject > > (
85
+ ops : Array < ConnectionBulkWriteModel < TSchemaMap > > ,
86
+ options ?: mongodb . ClientBulkWriteOptions
87
+ ) : Promise < mongodb . ClientBulkWriteResult > ;
88
+
67
89
/** Closes the connection */
68
90
close ( force ?: boolean ) : Promise < void > ;
69
91
0 commit comments