Node.js Can';t从NodeJs向MongoDB发送数据

Node.js Can';t从NodeJs向MongoDB发送数据,node.js,mongodb,Node.js,Mongodb,我对NodeJs和MongoDB或web开发都是新手。我正在学习一个关于如何建立一个注册系统的教程,这个教程是在大约两年前发布的。通过下面的代码,他能够使用postman发送请求后测试,他的数据保存到MongoDB中,然而,当我尝试在postman上发送请求后,它一直在“发送请求”加载,数据从未保存到MongoDB中……我不确定nodejs是否更改了语法或者我是否做错了什么。。。请帮忙!! 这是user.controller.js的代码 const mongoose = require('mon

我对NodeJs和MongoDB或web开发都是新手。我正在学习一个关于如何建立一个注册系统的教程,这个教程是在大约两年前发布的。通过下面的代码,他能够使用postman发送请求后测试,他的数据保存到MongoDB中,然而,当我尝试在postman上发送请求后,它一直在“发送请求”加载,数据从未保存到MongoDB中……我不确定nodejs是否更改了语法或者我是否做错了什么。。。请帮忙!! 这是user.controller.js的代码

const mongoose = require('mongoose');

const User = mongoose.model('User');

module.exports.register = (req, res, next) => {
    var user = new User();
    user.fullName = req.body.fullName;
    user.email = req.body.email;
    user.password = req.body.password;
    user.save((err, doc) => {
        if (!err)
            res.send(doc);
            else {
                if (err.code == 11000)
                    res.status(422).send(['Duplicate email adrress found.']);
                else
                    return next(err);
            }

    });
这是user.model.js的代码:

const mongoose = require('mongoose');

const bcrypt = require('bcryptjs');

var userSchema = new mongoose.Schema({
    fullName: {
        type: String      
    },
    email: {
        type: String
    },
    password: {
        type: String
    },
    saltSecret: String
});


// Events
userSchema.pre('save', function (next) {
    bcrypt.genSalt(10, (err, salt) => {
        bcrypt.hash(this.password, salt, (err, hash) => {
            this.password = hash;
            this.saltSecret = salt;
            next();
        });
    });
});



mongoose.model('User', userSchema);
这是服务器的代码(app.js)


在控制器中,您可以使用mongoose将数据写入mongo,但在服务器文件中,您使用本机mongo驱动程序连接到mongodb。因此,它不会起作用。这两个地方都需要mongodb本机驱动程序或mongoose

const mongoose = require('mongoose'),

const m_url = 'mongodb://127.0.0.1:27017/',
    db_name = 'test',       // use your db name
    m_options = {
        'auto_reconnect': true,
        useNewUrlParser: true,
        useCreateIndex: true,
        useUnifiedTopology: true
    }

mongoose.connect(m_url + db_name, m_options, function (err) {
    if (err) {
        console.log('Mongo Error ' + err);
    } else {
        status.mongo = 'Running'
        console.log('MongoDB Connection Established');
    }
});

// import/require user controller.
使用下面的代码,我已将服务器启动文件修改为使用mongoose

const mongoose = require('mongoose'),

const m_url = 'mongodb://127.0.0.1:27017/',
    db_name = 'test',       // use your db name
    m_options = {
        'auto_reconnect': true,
        useNewUrlParser: true,
        useCreateIndex: true,
        useUnifiedTopology: true
    }

mongoose.connect(m_url + db_name, m_options, function (err) {
    if (err) {
        console.log('Mongo Error ' + err);
    } else {
        status.mongo = 'Running'
        console.log('MongoDB Connection Established');
    }
});

// import/require user controller.