Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 1.13 KB

type_validation.md

File metadata and controls

44 lines (34 loc) · 1.13 KB

Type validation

You can define a type for a schema property passing a "type" parameter to it.

new Schema({ name: { type: String }})

Valid types are

  • String
  • Number (an integer or a gcloud.datastore.int)
  • Array
  • Object
  • Boolean
  • Date(*)
  • Buffer
  • Schema.Types.Double (a float or a gcloud.datastore.double)
  • Schema.Types.GeoPoint (a gcloud.datastore.geoPoint)

(*) Valid datetime are javascript Date() or a string with the following format: 'YYYY-MM-DD' | 'YYYY-MM-DD 00:00:00' | 'YYYY-MM-DD 00:00:00.000' | 'YYYY-MM-DDT00:00:00'

So back to our previous example of a User Model, we would probably have something like this.

const userSchema = new Schema({
    name: { type: String },
    lastname: { type: String },
    password: { type: String },
    email: { type: String },
    votes: { type: Number },
    dateOfBirth: { type: Date },
    createdOn: { type: Date },
    modifiedOn: { type: Date }
});

Note: you are not forced to set a type, if you don't define one, then any type is valid.

const userSchema = new Schema({
    name: {}, // any type
    email: { type: String }
});