Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save volosgoto/75fdb6954d1292ca871e8440cbc66f97 to your computer and use it in GitHub Desktop.
Save volosgoto/75fdb6954d1292ca871e8440cbc66f97 to your computer and use it in GitHub Desktop.
Mongoose basic usage
const mongoose = require('mongoose');
const validator = require('validator');
mongoose.connect('mongodb://127.0.0.1:27017/task-manager-api', {
useNewUrlParser: true,
useUnifiedTopology: 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');
// }
// },
// },
// password: {
// type: String,
// trim: true,
// required: true,
// minlength: 4,
// validate(value) {
// if (value.toLowerCase().includes('password')) {
// throw new Error('Password can not contain "password"');
// }
// },
// },
// age: {
// type: Number,
// default: 0,
// validate(value) {
// if (value < 0) {
// throw new Error('Age must be a positive number');
// }
// },
// },
// });
// const me = new User({
// name: 'Lenny',
// email: 'laenny@mail.ru',
// password: '1111',
// age: 15,
// });
// me.save()
// .then(() => {
// console.log(me);
// })
// .catch((error) => {
// console.log('Error!', error);
// });
const Task = mongoose.model('Tasks', {
description: {
type: String,
required: true,
trim: true,
},
completed: {
type: Boolean,
default: false,
},
});
const task = new Task({
description: ' Eat dinner',
completed: false,
});
task.save()
.then(() => {
console.log(task);
})
.catch((error) => {
console.log('Error!', error);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment