HTMLify
PopulateOptions.js
Views: 12 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 'use strict'; const clone = require('../helpers/clone'); class PopulateOptions { constructor(obj) { this._docs = {}; if (obj == null) { return; } obj = clone(obj); Object.assign(this, obj); if (typeof obj.subPopulate === 'object') { this.populate = obj.subPopulate; } if (obj.perDocumentLimit != null && obj.limit != null) { throw new Error('Can not use `limit` and `perDocumentLimit` at the same time. Path: `' + obj.path + '`.'); } } } /** * The connection used to look up models by name. If not specified, Mongoose * will default to using the connection associated with the model in * `PopulateOptions#model`. * * @memberOf PopulateOptions * @property {Connection} connection * @api public */ module.exports = PopulateOptions; |