Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface VirtualTypeOptions<HydratedDocType, DocType>

Type Parameters

Hierarchy

  • VirtualTypeOptions

Indexable

[extra: string]: any

Additional options for plugins

Index

Properties

ref?: string | Function

If ref is not nullish, this becomes a populated virtual.

localField?: string | ((this: HydratedDocType, doc: HydratedDocType) => string)

The local field to populate on if this is a populated virtual.

foreignField?: string | ((this: HydratedDocType, doc: HydratedDocType) => string)

The foreign field to populate on if this is a populated virtual.

justOne?: boolean

By default, a populated virtual is an array. If you set justOne, the populated virtual will be a single doc or null.

getters?: boolean

If you set this to true, Mongoose will call any custom getters you defined on this virtual.

count?: boolean

If you set this to true, populate() will set this virtual to the number of populated documents, as opposed to the documents themselves, using Query#countDocuments().

match?: Function | FilterQuery<any>

Add an extra match condition to populate().

limit?: number

Add a default limit to the populate() query.

skip?: number

Add a default skip to the populate() query.

perDocumentLimit?: number

For legacy reasons, limit with populate() may give incorrect results because it only executes a single query for every document being populated. If you set perDocumentLimit, Mongoose will ensure correct limit per document by executing a separate query for each document to populate(). For example, .find().populate({ path: 'test', perDocumentLimit: 2 }) will execute 2 additional queries if .find() returns 2 documents.

options?: QueryOptions<DocType> & { match?: AnyObject }

Additional options like limit and lean.

Generated using TypeDoc