diff --git a/docs/faq.md b/docs/faq.md index 8ae6a441b35..a0d493bc879 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -314,7 +314,7 @@ const Kitten = connection.model('Kitten', kittySchema); **Q**. How can I change mongoose's default behavior of initializing an array path to an empty array so that I can require real data on document creation? -**A**. You can set the default of the array to a function that returns `undefined`. +**A**. You can set the default of the array to `undefined`. ```javascript const CollectionSchema = new Schema({ @@ -329,13 +329,13 @@ const CollectionSchema = new Schema({ **Q**. How can I initialize an array path to `null`? -**A**. You can set the default of the array to a function that returns `null`. +**A**. You can set the default of the array to [`null`](https://masteringjs.io/tutorials/fundamentals/null). ```javascript const CollectionSchema = new Schema({ field1: { type: [String], - default: () => { return null; } + default: null } }); ``` diff --git a/lib/schema/array.js b/lib/schema/array.js index 67fe713a99b..00774ee3147 100644 --- a/lib/schema/array.js +++ b/lib/schema/array.js @@ -111,7 +111,7 @@ function SchemaArray(key, cast, options, schemaOptions) { fn = typeof defaultArr === 'function'; } - if (!('defaultValue' in this) || this.defaultValue !== void 0) { + if (!('defaultValue' in this) || this.defaultValue != null) { const defaultFn = function() { // Leave it up to `cast()` to convert the array return fn