Is the value of `null` allowed for fields that are required?

189 Views Asked by At

In MongoDB, what does it mean to have the required = true condition for a field in a collection?

Can the value be null?

2

There are 2 best solutions below

0
Alexander Santos On BEST ANSWER

required = true seems to be using Mongoose, so it doesn't accepts null values.

By default, a value satisfies the required validator if val != null (that is, if the value is not null nor undefined).

Can be found in their docs: https://mongoosejs.com/docs/api.html#schematype_SchemaType-required

MongoDB has a similar approach, but you declare all fields in the required option

i.e.:

...
required: [ "name", "year", "major", "address" ]
...

More can be found here

0
Shivam On

No value cannot be null, required: true will throw an error if null value is passed to the field on which required is implemented.

As per Mongoose documentation on required

By default, a value satisfies the required validator if val != null (that is, if the value is not null nor undefined)

Keep in mind, that's the default behavior, so there is a possibility for custom implementation.