mongoose required
const schema = new Schema({
name: {
type: String,
required: true
}
});
mongoose required
const schema = new Schema({
name: {
type: String,
required: true
}
});
mongoose validate example
// example AUTH SCHEMA
const mongoose = require('mongoose')
const bcryptjs = require('bcryptjs')
const findOrCreate = require('mongoose-findorcreate')
const validator = require('mongoose-validator')
const Schema = mongoose.Schema
const setAuthSchema = new Schema(
{
username: {
type: String,
trim: true,
required: true
},
email: {
type: String,
lowercase: true,
trim: true,
validate: [
validator({
validator: 'isEmail',
message: 'Oops..please enter valid email'
})
],
required: true
},
password: {
type: String,
minlength: 8,
maxlength: 16,
trim: true,
required: true
},
authsc: {
idsocial: {
type: String,
trim: true,
default: null
},
username: {
type: String,
trim: true,
default: null
},
fullname: {
type: String,
trim: true,
default: null
},
email: {
type: String,
lowercase: true,
trim: true,
validate: [
validator({
validator: 'isEmail',
message: 'Oops..please enter valid email'
})
],
default: null
},
gender: {
type: String,
trim: true,
default: null
},
avatar: {
type: String,
trim: true,
default: null
},
provider: {
type: String,
trim: true,
default: null
}
},
role: {
type: String,
trim: true,
default: 'user'
},
isActive: {
type: Boolean,
trim: true,
default: false
}
},
{ timestamps: true }
)
setAuthSchema.plugin(findOrCreate)
setAuthSchema.pre('save', function (next) {
if (this.isModified('password')) {
const salt = bcryptjs.genSaltSync(10)
this.password = bcryptjs.hashSync(this.password, salt)
return next()
}
})
setAuthSchema.static('hashPassword', (password) => {
if (password) {
const salt = bcryptjs.genSaltSync(10)
return bcryptjs.hashSync(password, salt)
}
})
setAuthSchema.static('verifyPassword', (password, hash) => {
if (password && hash) {
return bcryptjs.compareSync(password, hash)
}
})
const AuthSchema = mongoose.model('auth', setAuthSchema)
module.exports = { AuthSchema }
requir mongoose
const mongoose = require('mongoose');
mongoose.connect("mongodb://localhost:27017/name", { useUnifiedTopology: true, useNewUrlParser: true });
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us