mongoose-populate-virtuals

1.0.3 • Public • Published

mongoose-populate-virtuals

Build Status NPM version

Extend Mongoose 4+ population with virtual attributes that can be populated in either direction.

Usage

Wrap mongoose:

var mongoose = require('mongoose-populate-virtuals')(require('mongoose'));

Create document references to populate by defining virtual attributes with ref, localKey and foreignKey options.

Author.virtual('books', {
  ref: 'Book',
  foreignKey: 'authorId',
  localKey: '_id'
});
 
Author.find().populate('books').exec(...);

Remember virtual attributes are not persisted to the DB. Virtuals are not included in the model's .toObject() or .toJSON() methods unless the options include { virtuals: true }.

Options

Options for populate virtuals:

  • ref Name of the mongoose model (required).
  • foreignKey Key on the model of the populated virtual (required).
  • localKey Key on the model being populated (required).
  • match Query used for find() or fineOne.
  • options Mongo options such as sort and limit.
  • select Mongoose's .select() argument.
  • singular Use singular reference instead of array.

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i mongoose-populate-virtuals

    Weekly Downloads

    16

    Version

    1.0.3

    License

    ISC

    Last publish

    Collaborators

    • alexmingoia