В настоящее время я использую MySQL в качестве базы данных для следующего приложения для входа, но я хотел бы изменить его на MongoDB. Я просто создам базу данных с именем 'loginsys' в MongoDB с коллекцией, называемой 'логин', и приму ее, но я не уверен, как это сделать. Я добавил код ниже системы, с которой я имею дело, которая использует MySQL. Кроме того, моя папка / структура файла.
дБ. js
module.exports = {
'url': 'mongodb://localhost/loginsys'
}
user. js
var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');
var UserSchema = mongoose.Schema({
username: {
type: String
},
email: {
type: String
},
password: {
type: String
},
name: {
type: String
},
join_date: {
type: Date
},
updatedAt: {
type: Date,
default: Date.now
}
});
var User = module.exports = mongoose.model('user', UserSchema);
module.exports.getUserById = function(id, callback) {
User.findById(id, callback);
}
module.exports.comparePassword = function(password, hash, callback) {
bcrypt.compare(password, hash, function(err, isMatch) {
if(err){
return callback(err);
}else{
callback(null, isMatch);
}
});
}
module.exports.addUser = function(user, callback){
User.create(user, callback);
}
module.exports.getUserByUsername = function(username, callback){
User.findOne({username: username}, callback);
}
Кроме того, вот код, который я изначально думал, что я тоже буду менять db. js, но он не работал
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/loginsys', { useNewUrlParser: true }, (err) => {
if (!err) { console.log('MongoDB Connection Succeeded.') }
else { console.log('Error in DB connection : ' + err) }
});
require('../models/user');