1.0.3 • Published 9 years ago

mongoose-populate-virtuals v1.0.3

Weekly downloads
41
License
ISC
Repository
github
Last release
9 years ago

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.