1
0
Fork 0
CompleteNodeJS/task-manager/src/db/mongoose.js

67 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose')
const validator = require('validator')
mongoose.connect('mongodb://localhost:27017/task-manager-api', {
useNewUrlParser: true,
useCreateIndex: true
})
const User = mongoose.model('User', {
name: {
type: String,
required: true,
trim: true
},
email: {
type: String,
required: true,
trim: true,
lowercase: true,
validate(value) {
if (!validator.isEmail(value)) {
throw new Error('Email is invalid')
}
}
},
age: {
type: Number,
default: 0,
validate(value) {
if (value < 0) {
throw new Error('Age must be a positive number')
}
}
}
})
const me = new User({
name: ' Jason ',
email: 'J@SON-WILLIAMS.CA '
})
me.save().then(() => {
console.log(me)
}).catch((error) => {
console.log('Error!', error)
})
const Task = mongoose.model('Task', {
description: {
type: String
},
completed: {
type: Boolean
}
})
// const task = new Task({
// description: 'Learn the Mongoose library',
// completed: false
// })
//
// task.save().then(() => {
// console.log(task);
// }).catch((error) => {
// console.log('Error!', error)
// })