Как применить базу данных сообщества компаса MongoDB к моему приложению? - PullRequest
0 голосов
/ 29 марта 2020

В настоящее время я использую MySQL в качестве базы данных для следующего приложения для входа, но я хотел бы изменить его на MongoDB. Я просто создам базу данных с именем 'loginsys' в MongoDB с коллекцией, называемой 'логин', и приму ее, но я не уверен, как это сделать. Я добавил код ниже системы, с которой я имею дело, которая использует MySQL. Кроме того, моя папка / структура файла.

Folder/file structure

дБ. 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');

...