Options
All
  • Public
  • Public/Protected
  • All
Menu

Type parameters

  • T: mongoose.Document

Hierarchy

Index

Constructors

constructor

  • new MongoosePluginModel(doc?: AnyKeys<T> & AnyObject, fields?: any, options?: boolean | AnyObject): HydratedDocument<T, {}, {}>
  • Parameters

    • Optional doc: AnyKeys<T> & AnyObject
    • Optional fields: any
    • Optional options: boolean | AnyObject

    Returns HydratedDocument<T, {}, {}>

Properties

base

base: __module

Base Mongoose instance the model uses.

baseModelName

baseModelName: undefined | string

If this is a discriminator model, baseModelName is the name of the base model.

collection

collection: Collection

Collection the model uses.

db

db: Connection

Connection the model uses.

discriminators

discriminators: undefined | {}

Registered discriminators for this model.

events

events: EventEmitter

Event emitter that reports any errors that occurred. Useful for global error handling.

modelName

modelName: string

The name of the model

schema

schema: Schema<T, Model<T, any, any, any>, any>

Schema the model uses.

Methods

$where

  • $where(argument: string | Function): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Adds a $where clause to this query

    Parameters

    • argument: string | Function

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

addListener

  • addListener(event: string | symbol, listener: (...args: any[]) => void): MongoosePluginModel<T>
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

aggregate

  • aggregate<R>(pipeline?: PipelineStage[], options?: AggregateOptions, callback?: Callback<R[]>): Aggregate<R[]>
  • aggregate<R>(pipeline: PipelineStage[], cb: Function): Aggregate<R[]>
  • Type parameters

    • R = any

    Parameters

    • Optional pipeline: PipelineStage[]
    • Optional options: AggregateOptions
    • Optional callback: Callback<R[]>

    Returns Aggregate<R[]>

  • Type parameters

    • R = any

    Parameters

    • pipeline: PipelineStage[]
    • cb: Function

    Returns Aggregate<R[]>

bulkSave

  • bulkSave(documents: Document<any, any, any>[]): Promise<BulkWriteResult>
  • Sends multiple save() calls in a single bulkWrite(). This is faster than sending multiple save() calls because with bulkSave() there is only one network round trip to the MongoDB server.

    Parameters

    • documents: Document<any, any, any>[]

    Returns Promise<BulkWriteResult>

bulkWrite

  • bulkWrite(writes: any[], options?: BulkWriteOptions): Promise<BulkWriteResult>
  • bulkWrite(writes: any[], options?: BulkWriteOptions, cb?: Callback<BulkWriteResult>): void
  • Sends multiple insertOne, updateOne, updateMany, replaceOne, deleteOne, and/or deleteMany operations to the MongoDB server in one command. This is faster than sending multiple independent operations (e.g. if you use create()) because with bulkWrite() there is only one network round trip to the MongoDB server.

    Parameters

    • writes: any[]
    • Optional options: BulkWriteOptions

    Returns Promise<BulkWriteResult>

  • Parameters

    • writes: any[]
    • Optional options: BulkWriteOptions
    • Optional cb: Callback<BulkWriteResult>

    Returns void

count

  • count(callback?: Callback<number>): QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • count(filter: FilterQuery<T>, callback?: Callback<number>): QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a count query: counts the number of documents that match filter.

    Parameters

    • Optional callback: Callback<number>

    Returns QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • Optional callback: Callback<number>

    Returns QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

countDocuments

  • countDocuments(callback?: Callback<number>): QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • countDocuments(filter: FilterQuery<T>, options?: QueryOptions, callback?: Callback<number>): QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a countDocuments query: counts the number of documents that match filter.

    Parameters

    • Optional callback: Callback<number>

    Returns QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • Optional options: QueryOptions
    • Optional callback: Callback<number>

    Returns QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

create

  • create(docs: (AnyObject | AnyKeys<T>)[], options?: SaveOptions): Promise<HydratedDocument<T, {}, {}>[]>
  • create(docs: (AnyObject | AnyKeys<T>)[], callback: Callback<HydratedDocument<T, {}, {}>[]>): void
  • create(doc: AnyObject | AnyKeys<T>): Promise<HydratedDocument<T, {}, {}>>
  • create(doc: AnyObject | AnyKeys<T>, callback: Callback<HydratedDocument<T, {}, {}>>): void
  • create<DocContents>(docs: DocContents[], options?: SaveOptions): Promise<HydratedDocument<T, {}, {}>[]>
  • create<DocContents>(docs: DocContents[], callback: Callback<HydratedDocument<T, {}, {}>[]>): void
  • create<DocContents>(doc: DocContents): Promise<HydratedDocument<T, {}, {}>>
  • create<DocContents>(...docs: DocContents[]): Promise<HydratedDocument<T, {}, {}>[]>
  • create<DocContents>(doc: DocContents, callback: Callback<HydratedDocument<T, {}, {}>>): void
  • Creates a new document or documents

    Parameters

    • docs: (AnyObject | AnyKeys<T>)[]
    • Optional options: SaveOptions

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Parameters

    • docs: (AnyObject | AnyKeys<T>)[]
    • callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns void

  • Parameters

    • doc: AnyObject | AnyKeys<T>

    Returns Promise<HydratedDocument<T, {}, {}>>

  • Parameters

    • doc: AnyObject | AnyKeys<T>
    • callback: Callback<HydratedDocument<T, {}, {}>>

    Returns void

  • Type parameters

    • DocContents = AnyKeys<T>

    Parameters

    • docs: DocContents[]
    • Optional options: SaveOptions

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Type parameters

    • DocContents = AnyKeys<T>

    Parameters

    • docs: DocContents[]
    • callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns void

  • Type parameters

    • DocContents = AnyKeys<T>

    Parameters

    • doc: DocContents

    Returns Promise<HydratedDocument<T, {}, {}>>

  • Type parameters

    • DocContents = AnyKeys<T>

    Parameters

    • Rest ...docs: DocContents[]

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Type parameters

    • DocContents = AnyKeys<T>

    Parameters

    • doc: DocContents
    • callback: Callback<HydratedDocument<T, {}, {}>>

    Returns void

createCollection

  • createCollection(options?: CreateCollectionOptions): Promise<Collection<Document>>
  • createCollection(options: null | CreateCollectionOptions, callback: Callback<Collection<Document>>): void
  • Create the collection for this model. By default, if no indexes are specified, mongoose will not create the collection for the model until any documents are created. Use this method to create the collection explicitly.

    Parameters

    • Optional options: CreateCollectionOptions

    Returns Promise<Collection<Document>>

  • Parameters

    • options: null | CreateCollectionOptions
    • callback: Callback<Collection<Document>>

    Returns void

createIndexes

  • createIndexes(callback?: CallbackWithoutResult): Promise<void>
  • createIndexes(options?: any, callback?: CallbackWithoutResult): Promise<void>
  • Similar to ensureIndexes(), except for it uses the createIndex function.

    Parameters

    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

  • Parameters

    • Optional options: any
    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

deleteMany

  • deleteMany(filter?: FilterQuery<T>, options?: QueryOptions, callback?: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • deleteMany(filter: FilterQuery<T>, callback: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • deleteMany(callback: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Deletes all of the documents that match conditions from the collection. Behaves like remove(), but deletes all documents that match conditions regardless of the single option.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional options: QueryOptions
    • Optional callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

deleteOne

  • deleteOne(filter?: FilterQuery<T>, options?: QueryOptions, callback?: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • deleteOne(filter: FilterQuery<T>, callback: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • deleteOne(callback: CallbackWithoutResult): QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Deletes the first document that matches conditions from the collection. Behaves like remove(), but deletes at most one document regardless of the single option.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional options: QueryOptions
    • Optional callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • callback: CallbackWithoutResult

    Returns QueryWithHelpers<DeleteResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

diffIndexes

  • diffIndexes(options?: Record<string, unknown>): Promise<IndexesDiff>
  • diffIndexes(options: null | Record<string, unknown>, callback: (err: CallbackError, diff: IndexesDiff) => void): void
  • Does a dry-run of Model.syncIndexes(), meaning that the result of this function would be the result of Model.syncIndexes().

    Parameters

    • Optional options: Record<string, unknown>

    Returns Promise<IndexesDiff>

  • Parameters

    • options: null | Record<string, unknown>
    • callback: (err: CallbackError, diff: IndexesDiff) => void
        • (err: CallbackError, diff: IndexesDiff): void
        • Parameters

          • err: CallbackError
          • diff: IndexesDiff

          Returns void

    Returns void

discriminator

  • discriminator<D>(name: string | number, schema: Schema<any, Model<any, any, any, any>, any>, value?: string | number | ObjectId): Model<D, {}, {}, {}>
  • discriminator<T, U>(name: string | number, schema: Schema<T, U, any>, value?: string | number | ObjectId): U
  • Adds a discriminator type.

    Type parameters

    • D

    Parameters

    • name: string | number
    • schema: Schema<any, Model<any, any, any, any>, any>
    • Optional value: string | number | ObjectId

    Returns Model<D, {}, {}, {}>

  • Type parameters

    • T

    • U

    Parameters

    • name: string | number
    • schema: Schema<T, U, any>
    • Optional value: string | number | ObjectId

    Returns U

distinct

  • distinct(field: string, filter?: FilterQuery<T>, callback?: Callback<number>): QueryWithHelpers<any[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a distinct query: returns the distinct values of the given field that match filter.

    Parameters

    • field: string
    • Optional filter: FilterQuery<T>
    • Optional callback: Callback<number>

    Returns QueryWithHelpers<any[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

emit

  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

ensureIndexes

  • ensureIndexes(callback?: CallbackWithoutResult): Promise<void>
  • ensureIndexes(options?: any, callback?: CallbackWithoutResult): Promise<void>
  • Sends createIndex commands to mongo for each index declared in the schema. The createIndex commands are sent in series.

    Parameters

    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

  • Parameters

    • Optional options: any
    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

estimatedDocumentCount

  • estimatedDocumentCount(options?: QueryOptions, callback?: Callback<number>): QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a estimatedDocumentCount query: counts the number of documents in the collection.

    Parameters

    • Optional options: QueryOptions
    • Optional callback: Callback<number>

    Returns QueryWithHelpers<number, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

eventNames

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

exists

  • exists(filter: FilterQuery<T>): Promise<boolean>
  • exists(filter: FilterQuery<T>, callback: Callback<boolean>): void
  • Returns true if at least one document exists in the database that matches the given filter, and false otherwise.

    Parameters

    • filter: FilterQuery<T>

    Returns Promise<boolean>

  • Parameters

    • filter: FilterQuery<T>
    • callback: Callback<boolean>

    Returns void

find

  • find(callback?: Callback<HydratedDocument<T, {}, {}>[]>): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • find(filter: FilterQuery<T>, callback?: Callback<T[]>): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • find(filter: FilterQuery<T>, projection?: any, options?: null | QueryOptions, callback?: Callback<HydratedDocument<T, {}, {}>[]>): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a find query: gets a list of documents that match filter.

    Parameters

    • Optional callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • Optional callback: Callback<T[]>

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • Optional projection: any
    • Optional options: null | QueryOptions
    • Optional callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findById

  • findById(id: any, projection?: any, options?: null | QueryOptions, callback?: Callback<null | HydratedDocument<T, {}, {}>>): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Finds a single document by its _id field. findById(id) is almost* equivalent to findOne({ _id: id }). If you want to query by a document's _id, use findById() instead of findOne().

    Parameters

    • id: any
    • Optional projection: any
    • Optional options: null | QueryOptions
    • Optional callback: Callback<null | HydratedDocument<T, {}, {}>>

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findByIdAndDelete

  • findByIdAndDelete(id?: any, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findByIdAndDelete query, filtering by the given _id.

    Parameters

    • Optional id: any
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findByIdAndRemove

  • findByIdAndRemove(id?: any, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findByIdAndRemove query, filtering by the given _id.

    Parameters

    • Optional id: any
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findByIdAndUpdate

  • findByIdAndUpdate(id: any, update: UpdateQuery<T>, options: QueryOptions & { rawResult: true }, callback?: (err: CallbackError, doc: any, res: any) => void): QueryWithHelpers<ModifyResult<HydratedDocument<T, {}, {}>>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findByIdAndUpdate(id: any, update: UpdateQuery<T>, options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" }), callback?: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findByIdAndUpdate(id?: any, update?: UpdateQuery<T>, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findByIdAndUpdate(id: any, update: UpdateQuery<T>, callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findOneAndUpdate query, filtering by the given _id.

    Parameters

    • id: any
    • update: UpdateQuery<T>
    • options: QueryOptions & { rawResult: true }
    • Optional callback: (err: CallbackError, doc: any, res: any) => void
        • (err: CallbackError, doc: any, res: any): void
        • Parameters

          • err: CallbackError
          • doc: any
          • res: any

          Returns void

    Returns QueryWithHelpers<ModifyResult<HydratedDocument<T, {}, {}>>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • id: any
    • update: UpdateQuery<T>
    • options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" })
    • Optional callback: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • Optional id: any
    • Optional update: UpdateQuery<T>
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • id: any
    • update: UpdateQuery<T>
    • callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findOne

  • findOne(filter?: FilterQuery<T>, projection?: any, options?: null | QueryOptions, callback?: Callback<null | HydratedDocument<T, {}, {}>>): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Finds one document.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional projection: any
    • Optional options: null | QueryOptions
    • Optional callback: Callback<null | HydratedDocument<T, {}, {}>>

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findOneAndDelete

  • findOneAndDelete(filter?: FilterQuery<T>, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findOneAndDelete query: atomically finds the given document, deletes it, and returns the document as it was before deletion.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findOneAndRemove

  • findOneAndRemove(filter?: FilterQuery<T>, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findOneAndRemove query: atomically finds the given document and deletes it.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findOneAndReplace

  • findOneAndReplace(filter: FilterQuery<T>, replacement: T | AnyObject, options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" }), callback?: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findOneAndReplace(filter?: FilterQuery<T>, replacement?: T | AnyObject, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findOneAndReplace query: atomically finds the given document and replaces it with replacement.

    Parameters

    • filter: FilterQuery<T>
    • replacement: T | AnyObject
    • options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" })
    • Optional callback: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • Optional filter: FilterQuery<T>
    • Optional replacement: T | AnyObject
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: null | HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

findOneAndUpdate

  • findOneAndUpdate(filter: FilterQuery<T>, update: UpdateQuery<T>, options: QueryOptions & { rawResult: true }, callback?: (err: CallbackError, doc: any, res: any) => void): QueryWithHelpers<ModifyResult<HydratedDocument<T, {}, {}>>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findOneAndUpdate(filter: FilterQuery<T>, update: UpdateQuery<T>, options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" }), callback?: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void): QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • findOneAndUpdate(filter?: FilterQuery<T>, update?: UpdateQuery<T>, options?: null | QueryOptions, callback?: (err: CallbackError, doc: null | T, res: any) => void): QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a findOneAndUpdate query: atomically find the first document that matches filter and apply update.

    Parameters

    • filter: FilterQuery<T>
    • update: UpdateQuery<T>
    • options: QueryOptions & { rawResult: true }
    • Optional callback: (err: CallbackError, doc: any, res: any) => void
        • (err: CallbackError, doc: any, res: any): void
        • Parameters

          • err: CallbackError
          • doc: any
          • res: any

          Returns void

    Returns QueryWithHelpers<ModifyResult<HydratedDocument<T, {}, {}>>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • filter: FilterQuery<T>
    • update: UpdateQuery<T>
    • options: (QueryOptions & { upsert: true } & { new: true }) & (QueryOptions & { upsert: true } & { returnOriginal: false }) & (QueryOptions & { upsert: true } & { returnDocument: "after" })
    • Optional callback: (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any) => void
        • (err: CallbackError, doc: HydratedDocument<T, {}, {}>, res: any): void
        • Parameters

          • err: CallbackError
          • doc: HydratedDocument<T, {}, {}>
          • res: any

          Returns void

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • Optional filter: FilterQuery<T>
    • Optional update: UpdateQuery<T>
    • Optional options: null | QueryOptions
    • Optional callback: (err: CallbackError, doc: null | T, res: any) => void
        • (err: CallbackError, doc: null | T, res: any): void
        • Parameters

          • err: CallbackError
          • doc: null | T
          • res: any

          Returns void

    Returns QueryWithHelpers<null | HydratedDocument<T, {}, {}>, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

fuzzySearch

geoSearch

  • geoSearch(filter?: FilterQuery<T>, options?: GeoSearchOptions, callback?: Callback<HydratedDocument<T, {}, {}>[]>): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Parameters

    • Optional filter: FilterQuery<T>
    • Optional options: GeoSearchOptions
    • Optional callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

getMaxListeners

  • getMaxListeners(): number
  • Returns number

hydrate

  • hydrate(obj: any): HydratedDocument<T, {}, {}>
  • Shortcut for creating a new Document from existing raw data, pre-saved in the DB. The document returned has no paths marked as modified initially.

    Parameters

    • obj: any

    Returns HydratedDocument<T, {}, {}>

init

  • init(callback?: CallbackWithoutResult): Promise<HydratedDocument<T, {}, {}>>
  • This function is responsible for building indexes, unless autoIndex is turned off. Mongoose calls this function automatically when a model is created using mongoose.model() or connection.model(), so you don't need to call it.

    Parameters

    • Optional callback: CallbackWithoutResult

    Returns Promise<HydratedDocument<T, {}, {}>>

insertMany

  • insertMany(docs: (AnyObject | AnyKeys<T>)[], options: InsertManyOptions & { rawResult: true }): Promise<InsertManyResult>
  • insertMany(docs: (AnyObject | AnyKeys<T>)[], options?: InsertManyOptions): Promise<HydratedDocument<T, {}, {}>[]>
  • insertMany(doc: AnyObject | AnyKeys<T>, options: InsertManyOptions & { rawResult: true }): Promise<InsertManyResult>
  • insertMany(doc: AnyObject | AnyKeys<T>, options?: InsertManyOptions): Promise<HydratedDocument<T, {}, {}>[]>
  • insertMany(doc: AnyObject | AnyKeys<T>, options?: InsertManyOptions, callback?: Callback<HydratedDocument<T, {}, {}>[] | InsertManyResult>): void
  • insertMany(docs: (AnyObject | AnyKeys<T>)[], options?: InsertManyOptions, callback?: Callback<HydratedDocument<T, {}, {}>[] | InsertManyResult>): void
  • Inserts one or more new documents as a single insertMany call to the MongoDB server.

    Parameters

    • docs: (AnyObject | AnyKeys<T>)[]
    • options: InsertManyOptions & { rawResult: true }

    Returns Promise<InsertManyResult>

  • Parameters

    • docs: (AnyObject | AnyKeys<T>)[]
    • Optional options: InsertManyOptions

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Parameters

    • doc: AnyObject | AnyKeys<T>
    • options: InsertManyOptions & { rawResult: true }

    Returns Promise<InsertManyResult>

  • Parameters

    • doc: AnyObject | AnyKeys<T>
    • Optional options: InsertManyOptions

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Parameters

    • doc: AnyObject | AnyKeys<T>
    • Optional options: InsertManyOptions
    • Optional callback: Callback<HydratedDocument<T, {}, {}>[] | InsertManyResult>

    Returns void

  • Parameters

    • docs: (AnyObject | AnyKeys<T>)[]
    • Optional options: InsertManyOptions
    • Optional callback: Callback<HydratedDocument<T, {}, {}>[] | InsertManyResult>

    Returns void

listIndexes

  • listIndexes(callback: Callback<any[]>): void
  • listIndexes(): Promise<any[]>
  • Lists the indexes currently defined in MongoDB. This may or may not be the same as the indexes defined in your schema depending on whether you use the autoIndex option and if you build indexes manually.

    Parameters

    • callback: Callback<any[]>

    Returns void

  • Returns Promise<any[]>

listenerCount

  • listenerCount(type: string | symbol): number
  • Parameters

    • type: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

mapReduce

  • mapReduce<Key, Value>(o: MapReduceOptions<T, Key, Value>, callback?: Callback<any>): Promise<any>
  • Executes a mapReduce command.

    Type parameters

    • Key

    • Value

    Parameters

    • o: MapReduceOptions<T, Key, Value>
    • Optional callback: Callback<any>

    Returns Promise<any>

off

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

on

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

once

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

populate

  • populate(docs: any[], options: string | PopulateOptions | PopulateOptions[], callback?: Callback<HydratedDocument<T, {}, {}>[]>): Promise<HydratedDocument<T, {}, {}>[]>
  • populate(doc: any, options: string | PopulateOptions | PopulateOptions[], callback?: Callback<HydratedDocument<T, {}, {}>>): Promise<HydratedDocument<T, {}, {}>>
  • Populates document references.

    Parameters

    • docs: any[]
    • options: string | PopulateOptions | PopulateOptions[]
    • Optional callback: Callback<HydratedDocument<T, {}, {}>[]>

    Returns Promise<HydratedDocument<T, {}, {}>[]>

  • Parameters

    • doc: any
    • options: string | PopulateOptions | PopulateOptions[]
    • Optional callback: Callback<HydratedDocument<T, {}, {}>>

    Returns Promise<HydratedDocument<T, {}, {}>>

prependListener

  • prependListener(event: string | symbol, listener: (...args: any[]) => void): MongoosePluginModel<T>
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

prependOnceListener

  • prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): MongoosePluginModel<T>
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

rawListeners

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

remove

  • remove(filter?: any, callback?: CallbackWithoutResult): QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Parameters

    • Optional filter: any
    • Optional callback: CallbackWithoutResult

    Returns QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

removeAllListeners

  • Parameters

    • Optional event: string | symbol

    Returns MongoosePluginModel<T>

removeListener

  • removeListener(event: string | symbol, listener: (...args: any[]) => void): MongoosePluginModel<T>
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns MongoosePluginModel<T>

replaceOne

  • replaceOne(filter?: FilterQuery<T>, replacement?: T | AnyObject, options?: null | QueryOptions, callback?: Callback<any>): QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • replaceOne(filter?: FilterQuery<T>, replacement?: T | AnyObject, options?: null | QueryOptions, callback?: Callback<any>): QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a replaceOne query: finds the first document that matches filter and replaces it with replacement.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional replacement: T | AnyObject
    • Optional options: null | QueryOptions
    • Optional callback: Callback<any>

    Returns QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • Optional filter: FilterQuery<T>
    • Optional replacement: T | AnyObject
    • Optional options: null | QueryOptions
    • Optional callback: Callback<any>

    Returns QueryWithHelpers<any, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

setMaxListeners

  • Parameters

    • n: number

    Returns MongoosePluginModel<T>

startSession

  • startSession(options?: ClientSessionOptions, cb?: Callback<ClientSession>): Promise<ClientSession>
  • Starts a MongoDB session for benefits like causal consistency, retryable writes, and transactions.

    Parameters

    • Optional options: ClientSessionOptions
    • Optional cb: Callback<ClientSession>

    Returns Promise<ClientSession>

syncIndexes

  • syncIndexes(options?: Record<string, unknown>): Promise<string[]>
  • syncIndexes(options: null | Record<string, unknown>, callback: Callback<string[]>): void
  • Makes the indexes in MongoDB match the indexes defined in this model's schema. This function will drop any indexes that are not defined in the model's schema except the _id index, and build any indexes that are in your schema but not in MongoDB.

    Parameters

    • Optional options: Record<string, unknown>

    Returns Promise<string[]>

  • Parameters

    • options: null | Record<string, unknown>
    • callback: Callback<string[]>

    Returns void

translateAliases

  • translateAliases(raw: any): any
  • Translate any aliases fields/conditions so the final query or document object is pure

    Parameters

    • raw: any

    Returns any

update

  • update(filter?: FilterQuery<T>, update?: UpdateQuery<T> | UpdateWithAggregationPipeline, options?: null | QueryOptions, callback?: Callback<any>): QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • deprecated

    use updateOne or updateMany instead. Creates a update query: updates one or many documents that match filter with update, based on the multi option.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional update: UpdateQuery<T> | UpdateWithAggregationPipeline
    • Optional options: null | QueryOptions
    • Optional callback: Callback<any>

    Returns QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

updateMany

  • updateMany(filter?: FilterQuery<T>, update?: UpdateQuery<T> | UpdateWithAggregationPipeline, options?: null | QueryOptions, callback?: Callback<any>): QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a updateMany query: updates all documents that match filter with update.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional update: UpdateQuery<T> | UpdateWithAggregationPipeline
    • Optional options: null | QueryOptions
    • Optional callback: Callback<any>

    Returns QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

updateOne

  • updateOne(filter?: FilterQuery<T>, update?: UpdateQuery<T> | UpdateWithAggregationPipeline, options?: null | QueryOptions, callback?: Callback<any>): QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a updateOne query: updates the first document that matches filter with update.

    Parameters

    • Optional filter: FilterQuery<T>
    • Optional update: UpdateQuery<T> | UpdateWithAggregationPipeline
    • Optional options: null | QueryOptions
    • Optional callback: Callback<any>

    Returns QueryWithHelpers<UpdateResult, HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

validate

  • validate(callback?: CallbackWithoutResult): Promise<void>
  • validate(optional: any, callback?: CallbackWithoutResult): Promise<void>
  • validate(optional: any, pathsToValidate: string[], callback?: CallbackWithoutResult): Promise<void>
  • Casts and validates the given object against this model's schema, passing the given context to custom validators.

    Parameters

    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

  • Parameters

    • optional: any
    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

  • Parameters

    • optional: any
    • pathsToValidate: string[]
    • Optional callback: CallbackWithoutResult

    Returns Promise<void>

watch

  • watch<ResultType>(pipeline?: Record<string, unknown>[], options?: ChangeStreamOptions): ChangeStream<ResultType>
  • Watches the underlying collection for changes using MongoDB change streams.

    Type parameters

    • ResultType = any

    Parameters

    • Optional pipeline: Record<string, unknown>[]
    • Optional options: ChangeStreamOptions

    Returns ChangeStream<ResultType>

where

  • where(path: string, val?: any): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • where(obj: object): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • where(): QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>
  • Creates a Query, applies the passed conditions, and returns the Query.

    Parameters

    • path: string
    • Optional val: any

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Parameters

    • obj: object

    Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

  • Returns QueryWithHelpers<HydratedDocument<T, {}, {}>[], HydratedDocument<T, {}, {}>, MongooseQueryHelpers<T>, T>

Generated using TypeDoc