A string containing the current operation that Mongoose is executing
on this document. Can be null
, 'save'
, 'validate'
, or 'remove'
.
Set this property to add additional query filters when Mongoose saves this document and isNew
is false.
Optional
__vThis documents __v.
Optional
_idThis documents _id.
Optional
baseIf this is a discriminator model, baseModelName
is the name of the base model.
Collection the model uses.
Connection the model uses.
Optional
errorsReturns the current validation errors.
Optional
idThe string version of this documents _id.
Boolean flag specifying if the document is new.
The document's schema.
Assert that a given path or paths is populated. Throws an error if not populated.
Optional
values: Partial<Paths>Returns a deep clone of this document
Increments the numeric value at path
by the given val
.
When you call save()
on this document, Mongoose will send a
$inc
as opposed to a $set
.
Optional
val: numberReturns true if the given path is nullish or only contains empty objects. Useful for determining whether this subdoc will get stripped out by the minimize option.
Getter/setter around the session associated with this document. Used to
automatically set session
if you save()
a doc that you got from a
query with an associated session.
Optional
session: null | ClientSessionAlias for set()
, used internally to avoid conflicts
Optional
options: DocumentSetOptionsOptional
options: DocumentSetOptionsTakes a populated field and returns it to its unpopulated state. If called with no arguments, then all populated fields are returned to their unpopulated state.
Optional
path: string | string[]Returns true if this document is equal to another document.
Documents are considered equal when they have matching _id
s, unless neither
document has an _id
, in which case this function falls back to using
deepEqual()
.
Returns the changes that happened to the document in the format that will be sent to MongoDB.
Signal that we desire an increment of this documents version.
Initializes the document without setters or marking anything modified. Called internally after a document is returned from mongodb. Normally, you do not need to call this function on your own.
Optional
opts: AnyObjectOverwrite all values in this document with the values of obj
, except
for immutable properties. Behaves similarly to set()
, except for it
unsets all properties that aren't in obj
.
Populates document references.
Optional
select: string | AnyObjectOptional
model: Model<any, {}, {}, {}, any, any>Optional
match: AnyObjectOptional
options: PopulateOptionsSends a replaceOne command with this document _id
as the query selector.
Optional
replacement: AnyObjectOptional
options: null | QueryOptions<unknown>Saves this document by inserting a new document into the database if document.isNew is true
, or sends an updateOne operation with just the modified paths if isNew
is false
.
Optional
options: SaveOptionsSets the value of a path, or many paths.
Optional
options: anyOptional
options: anyThe return value of this method is used in calls to JSON.stringify(doc).
Optional
options: ToObjectOptions & { Converts this document into a plain-old JavaScript object (POJO).
Optional
options: ToObjectOptionsSends an updateOne command with this document _id
as the query selector.
Optional
update: UpdateWithAggregationPipeline | UpdateQuery<IUserDocument>Optional
options: null | QueryOptions<unknown>Executes registered validation rules for this document.
Optional
pathsToValidate: PathsToValidateOptional
options: AnyObjectOptional
pathsExecutes registered validation rules (skipping asynchronous validators) for this document.
Optional
pathsOptional
pathsToValidate: PathsToValidateOptional
options: AnyObject
Empty object that you can use for storing properties on the document. This is handy for passing data to middleware without conflicting with Mongoose internals.