summaryrefslogtreecommitdiffstats
path: root/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js')
-rw-r--r--node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js b/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js
new file mode 100644
index 0000000..f3fb7a9
--- /dev/null
+++ b/node_modules/mongoose/lib/options/SchemaDocumentArrayOptions.js
@@ -0,0 +1,68 @@
+'use strict';
+
+const SchemaTypeOptions = require('./SchemaTypeOptions');
+
+/**
+ * The options defined on an Document Array schematype.
+ *
+ * ####Example:
+ *
+ * const schema = new Schema({ users: [{ name: string }] });
+ * schema.path('users').options; // SchemaDocumentArrayOptions instance
+ *
+ * @api public
+ * @inherits SchemaTypeOptions
+ * @constructor SchemaDocumentOptions
+ */
+
+class SchemaDocumentArrayOptions extends SchemaTypeOptions {}
+
+const opts = require('./propertyOptions');
+
+/**
+ * If `true`, Mongoose will skip building any indexes defined in this array's schema.
+ * If not set, Mongoose will build all indexes defined in this array's schema.
+ *
+ * ####Example:
+ *
+ * const childSchema = Schema({ name: { type: String, index: true } });
+ * // If `excludeIndexes` is `true`, Mongoose will skip building an index
+ * // on `arr.name`. Otherwise, Mongoose will build an index on `arr.name`.
+ * const parentSchema = Schema({
+ * arr: { type: [childSchema], excludeIndexes: true }
+ * });
+ *
+ * @api public
+ * @property excludeIndexes
+ * @memberOf SchemaDocumentArrayOptions
+ * @type Array
+ * @instance
+ */
+
+Object.defineProperty(SchemaDocumentArrayOptions.prototype, 'excludeIndexes', opts);
+
+/**
+ * If set, overwrites the child schema's `_id` option.
+ *
+ * ####Example:
+ *
+ * const childSchema = Schema({ name: String });
+ * const parentSchema = Schema({
+ * child: { type: childSchema, _id: false }
+ * });
+ * parentSchema.path('child').schema.options._id; // false
+ *
+ * @api public
+ * @property _id
+ * @memberOf SchemaDocumentArrayOptions
+ * @type Array
+ * @instance
+ */
+
+Object.defineProperty(SchemaDocumentArrayOptions.prototype, '_id', opts);
+
+/*!
+ * ignore
+ */
+
+module.exports = SchemaDocumentArrayOptions; \ No newline at end of file