Почему-то кажется, что мой findOne
не работает должным образом.
const express = require('express')
const User = require('../models/User')
const router = express.Router();
const bcrypt = require('bcryptjs')
//Login Page
router.get('/login', (req, res) => res.render('login'));
//Register Page
router.get('/register', (req, res) => res.render('register'));
//Register Handle
router.post('/register', (req, res, next) => {
const { name, email, password, password2 } = req.body;
let errors = [];
//Check required feilds
if (!name || !email || !password || !password2) {
errors.push({ msg: `Please fill all the feilds.` })
}
if (password !== password2) {
errors.push({ msg: `Passwords do not match.` })
}
//check password length
if (password.length < 6) {
errors.push({ msg: `Password should be atleast 6 characters.` })
}
if (errors.length > 0) {
res.render('register', {
errors,
name,
email,
password,
password2
})
} else {
console.log(`inside else...`);
// res.send(`I am coming`);
User.findOne({ email : email }).then(user => {
console.log(`inside find one...`);
if (user) {
errors.push({ msg: 'Email already exists' });
res.render('register', {
errors,
name,
email,
password,
password2
});
} else {
console.log(`creating new user`);
const newUser = new User({
name,
email,
password
});
console.log(newUser)
res.send('user created')
}
})
}
});
module.exports = router
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
dbo.createCollection("customers", function(err, res) {
if (err) throw err;
console.log("Collection created!");
db.close();
});
});
Вывод программы:
Сервер запущен на порту 5000 (узел: 7084) DeprecationWarning: текущий механизм обнаружения и мониторинга сервера устарел и будет удален в следующей версии. Чтобы использовать новый механизм обнаружения и мониторинга сервера, передайте опцию {useUnifiedTopology: true} конструктору MongoClient.
Коллекция создана!
в другом месте ...