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