summaryrefslogtreecommitdiff
path: root/node_modules/mongoose/docs/defaults.md
blob: 04977874eaf209e5dbcf2f65fcc0aa6881e0f53c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Defaults
========

Each `SchemaType` that you define \(you can read more about them in the [model
definition chapter](/docs/model-definition.html) \) can have a default value.

Default values are applied when the document skeleton is constructed. This
means that if you create a new document (`new MyModel`) or if you find an
existing document (`MyModel.findById`), both will have defaults
provided that a certain key is missing.

## Definition

You can define a default with a function:

    new Schema({
        date: { type: Date, default: Date.now }
    })

or a value:

    new Schema({
        date: { type: Date, default: '12/10/1990' }
    })

Notice that defaults are automatically casted. In both cases, the defaults will
become actual `Date` objects, but we're passing a timestamp first, and a string
date second.