123456789101112131415161718192021222324252627282930313233343536 |
- 'use strict';
- const clone = require('../helpers/clone');
- class PopulateOptions {
- constructor(obj) {
- this._docs = {};
- this._childDocs = [];
- 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;
|